0

私はしばらくiOSアプリに取り組んでおり、提出する準備がほぼ整いました。ただし、テスト目的で数人に渡したところ (iOS 5 を実行)、アプリがクラッシュしてホーム画面が電話に表示されるか、フリーズしたアプリ画面が表示されて応答がまったくないというケースが報告されました。

アプリは ARC 対応で、Xcode は警告を表示しません。だから、私は何がうまくいかないのかについて緊張しています。次の方法でプロパティを宣言しました。

@property (nonatomic) IBOutlet UILabel *devCountLabel;

@property (nonatomic) IBOutlet UIView *splashView;

同様に、他のプロパティが宣言されます。誰でも解決策を提供できますか?主にネットワーク ベースのアプリであるため、CoreData の使用量は最小限です。

PS: アプリはシミュレーターでクラッシュしないので、メモリに関連する何かがあると推測しています。そして、クラッシュはランダムです。そのため、一連の手順を繰り返してクラッシュを再現しても効果はありません。例えば。ボタンをクリックすると、 modalViewControllerAnimation は通常のケースになります。現在、これはほとんどの場合に予想どおりに発生し、それ以外の場合はアプリがフリーズします。

4

1 に答える 1

3

クラッシュログが役に立ちますが、私の推測は次のとおりです。

Interface Builder Outlet のプロパティは である必要がweakあるため、nilリリース後に になります。

あなたのコードでは、それらのセマンティクスはassign(あなただけが書いたのでデフォルトですnonatomic) であり、プリミティブ型に使用されます。そして、解放されると、ダングリング ポインターが取得され、それを使用すると、アプリがクラッシュします。

これを試して:

@property (weak, nonatomic) IBOutlet UILabel *devCountLabel;
@property (weak, nonatomic) IBOutlet UIView *splashView;
于 2012-06-23T09:32:10.840 に答える