ビュー「A」が表示されるたびにUIを更新するアプリを開発しています。関連するコードをに入れました。ViewWillAppear
この更新により、アプリのドキュメントパスにいくつかの画像が読み込まれます。したがって、セクションで関連するパスをロードします。最初は問題なく動作しますが、別のページに移動して(ページnavigationController
をプッシュするために使用して)、このページに数回戻ると、が表示されますEXC_BAD_ACCESS
。
コード:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); // EXC_BAD_ACCESS here
NSString* docPath = [paths objectAtIndex:0];
.....
そして、次のようにパスをハードコーディングしてコードを一時的に変更した場合:
NSString* docPath = [NSString stringWithFormat:@"****/****/***/Documents"];
その後、クラッシュしません。
また、でドキュメントパスをロードしViewDidLoad
、プロパティがである変数に値を保存しようとしました(nonatomic, retain)
。
そして、でViewWillAppear
、私は次のようにパスをロードします:
NSString* docPath = self.documentPath;
EXC_BAD_ACCESS
しかし、それはこの行でも得られます。
この行の前に、も印刷しようとしましたself.documentPath
が、正しいパス文字列が取得されます。