基本的に、Core Data クエリの結果で UILabel を更新したいと考えています。次のテキスト「ルートには X クレジットがあります」という UILabel があります。Core Data でエンティティ "Account" を検索し、検索を絞り込んで "root" アカウントだけを探し、さらに検索を絞り込んで "root" アカウントにある属性 "credit" だけを探します。最後に、UILabel を更新して、「ルートには 0 クレジットがあります」(または Core Data クエリが説明する多くのクレジット) を読み取るようにします。
これまでのところ、次のコードがあります。
- (void)rootCreditAmount {
// Core Data - root credit amount
NSFetchRequest *request = [[NSFetchRequest alloc] init];
// define our table / entity to use
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Account" inManagedObjectContext:_managedObjectContext];
[request setEntity:entity];
// filter results to just root user
NSPredicate *username = [NSPredicate predicateWithFormat:@"root"];
[request setPredicate:username];
// fetch records and handle error
NSError *error;
NSMutableArray *mutableFetchResults = [[_managedObjectContext executeFetchRequest:request error:& error] mutableCopy];
if (!mutableFetchResults) {
// handle error.
// should advise user to restart
}
NSLog(@"mutablefetchresults = %@",mutableFetchResults);
}
言うまでもなく、このコードが原因で現在アプリがクラッシュしています。