0

現在、次のアプローチを使用してアイテムをフィルタリングしようとしています。

私の管理対象オブジェクトは次のようなものです。

@interface MyManagedObject:NSManagedObject

@property (nonatomic, retain) NSString *name;

@end

たとえば、オブジェクトの名前は「ABCDEFGHIJKLcompany」です。

「BCDIJKパン」や「BCDパン」などの文字列で検索すると、

(BCDはABCDEFのサブストリング、IJKはGHIJKLのサブストリング、panはcompanyのサブストリングです)

オブジェクトを見つけることができるはずです。

これで述語を書く方法がわかりません。predicateWithBlock:を使用しようとしましたが、CoreDataはpredicateWithBlock:の述語をサポートしていません。

また、最初にすべてのオブジェクトをフェッチし、述語ブロックで結果をフィルタリングしようとしました。しかし、コアデータに約1,000万個のオブジェクトがあるため、非常に低速です。

では、これを1つの述語ステートメントで実行できるかどうかを尋ねたいと思います。どうもありがとう!!!

4

1 に答える 1

0

LIKEワイルドカード文字を含めれば可能です*。で検索すればself LIKE %@, @"*BCD*IJK*pan*出てくるので、

于 2012-05-24T02:55:21.243 に答える