0

私の Core Data モデルには、「写真」と「タグ」という 2 つのエンティティがあります。これらの関係は次のようになります: 写真 << ------->> タグ。

写真をデータベースに挿入して関係を設定すると、エンティティ「タグ」を使用して写真の NSArray を取得したいと考えています。コードは次のとおりです。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(ANY tags == %@)", tag];
requestForPhoto.predicate = predicate;
NSSortDescriptor *sortD = [NSSortDescriptor sortDescriptorWithKey:@"title" ascending:YES];
requestForPhoto.sortDescriptors = [NSArray arrayWithObject:sortD];
NSArray *matches = [document.managedObjectContext executeFetchRequest:requestForPhoto error:nil];

一致数は 0 です。次にアプリを閉じて、もう一度開いて上のコードを実行すると、数値が正常になり、1 になります。

メソッドsaveToURL: forSaveOperation:を実行してデータを保存していると確信しています。
アプリを再度開く前後のデータベースの内容を NSLog します。正常に動作し、関係は既に確立されています。

別の Core Data モデルがあります。

photo <<---------> location
写真を取得するときは、(エンティティではなく) location の NSString を使用します。結果は非常に規則的です。

4

0 に答える 0