この問題の解決策を見つけるために、私は広範囲にわたって検索しました。すべての試行で0の結果が得られます。ここでは、一般的なデータ構造である:NSPredicateを使用してコアデータエンティティのNSArray属性を検索する
キーワード=Core Data Entity A {
stringAttribute string
....
transformableAttribute(NSArray of NSString objects) keywords
}
:
[NSArrayのarrayWithObjectsを "文字列1"、 "文字列2" @ "文字列3" @、ゼロ@]私がしようとしています述語を実行してNSArrayのtransformable属性を検索します。
私はエンティティAに対して以下を試しました。コアデータストアはsqliteストアです。
NSString *term = @"string 1";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY keywords like[cd] %@", term];
0マッチ0マッチエラーで
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(keywords, $x, $x like %@)[email protected] > 0", term]
---->結果に
NSArray *termArray = [NSArray arrayWithObject:@"string 1"];
NSPredicate *predicate = [NSPredicate [email protected]"ANY keywords in %@", termArray];
---->結果に---->結果は非関係はサブクエリコレクションではありません
私は上記のいくつかの順列を試みましたが、結果はまだありません。何かアドバイス?これはコアデータで可能ですか?
ありがとうございます!
私は、文字列の配列を別のエンティティにして、それらを接続するために関係を使用すると、より簡単になると思います。あなたがしようとしていることは、そのように実装すれば簡単です。 – agilityvision
ええ、私は別のエンティティがSQLのように最高だと思います。私は移行を避けることを望んでいましたが、私はより良い方法を見つけることができません。私は、述語によるフェッチが必要なfetchedresutlscontrollerを使用しています。私は手動でフィルタリングできません。 –