が最初に私は私のアプリの流れを、説明しましょうEXC_BAD_ACCESSスロー Coredata fetchedObjectsカウントは
私はユーザーがログインしている場合、私は、ログインコントローラが表示されない場合、私は-(void) viewWillAppear:(BOOL)animated
でこのチェックを行うチェックアプリを起動
私のloadViewで私のコードデータスタックにアクセスし、fetchedObjectsをテーブルビューで表示しようとしましたが、クリックされたセルのオブジェクトに関する詳細情報を表示するセルの1つをクリックします。
これは私がそれを行う方法です。
今AppDelegate *app = (AppDelegate*)[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [app managedObjectContext];
NSFetchRequest* fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Sites" inManagedObjectContext:context];
NSError *error;
[fetchRequest setEntity:entity];
fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
ビューは、私は大丈夫に見えるデバッガ
(lldb) po fetchedObjects
(NSArray *) $1 = 0x00352860 <_PFArray 0x352860>(
<NSManagedObject: 0x352550> (entity: Sites; id: 0x34c9b0 <x-coredata://7CD0A735-BC41-4E7A-8B07-C957E6096320/Sites/p1> ; data: <fault>)
)
に次のように取得する最初の時間をロードします。
これでviewWillAppearが呼び出され、ログインビューが表示され、ユーザーがログインしてログインビューがナビゲーションスタックからポップされた後、tableviewのcellforrowatindexpathが再び呼び出されます。取得
(lldb) po fetchedObjects
(NSArray *) $3 = 0x00352860 [no Objective-C description available]
これは私が理解していない、なぜデータは保持されませんか?
例外が
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [fetchedObjects count];
}
fetchedObjectsにスローされますが、クラスのメンバーである、私はまだそれのためのリリースを持っていないと私は、その値を変更することはありませんか?
あなたはARCを使用していますか? – jrturton
いいえ私はそれを切り替えました... – Armand