0

フォルダーとファイルという 2 つのエンティティがあり、フォルダーはファイル エンティティと 1 対多の関係にあります。ファイル エンティティには、BOOL である completedStatus というプロパティがあります。どのすべてのファイルがこの completedStatus == TRUe IN 特定の folder.file NSOrderedSet を持っているかを確認する必要があります。


このために、ドキュメントを読んでこの方法を試しましたが、機能していません

[NSPredicate predicateWithFormat:@"completedStatus = 1 IN %@", file.note]];

だから私を助けてください。

よろしくランジット

4

1 に答える 1

1

これはあなたが望むことをするはずです:

NSArray *files = ... // your array of File objects
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"completedStatus = 1"];
NSArray *completedFiles = [files filteredArrayUsingPredicate:predicate];

UPDATE: NSOrderedSet述語でフィルタリングするメソッドがありません。folder.fileただし、順序付きセットを配列に変換できます。

NSArray *files = [folder.file array];

その後、上記のように続行します。

または、述語を使用してFileエンティティに対してフェッチ要求を行うことができます

[NSPredicate predicateWithFormat:@"completedStatus = 1 && folder = %@", theFolder]

FileエンティティからfolderFolderエンティティへの逆の関係を定義したと仮定します。

于 2013-01-25T10:30:43.827 に答える