ビュー「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が、正しいパス文字列が取得されます。