我已經遍尋搜索,找到解決此問題的辦法。我所有的嘗試結果都是0。下面是一般的數據結構:使用NSPredicate搜索核心數據實體的NSArray屬性
Core Data Entity A {
stringAttribute string
....
transformableAttribute(NSArray of NSString objects) keywords
}
其中關鍵字= [NSArray的arrayWithObjects:@ 「串1」,@ 「串2」,@ 「串3」,零]
我試圖運行一個謂詞來搜索NSArray可轉換屬性。
我試着對實體A.以下核心數據存儲是一個SQLite店。在0匹配
NSArray *termArray = [NSArray arrayWithObject:@"string 1"];
NSPredicate *predicate = [NSPredicate [email protected]"ANY keywords in %@", termArray];
---->結果
NSString *term = @"string 1";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY keywords like[cd] %@", term];
---->結果在0匹配
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SUBQUERY(keywords, $x, $x like %@)[email protected] > 0", term]
---->結果中的錯誤,一個非關係不能是一個子查詢集合
我已經試過上述的一些排列,但依然沒有結果。有什麼建議?核心數據可能嗎?
謝謝!
我認爲,如果你做了字符串數組的獨立實體的生活會更容易和使用的關係將它們連接起來。如果像那樣實施,你所要做的很容易。 – agilityvision 2012-01-13 04:10:13
是的,我認爲一個單獨的實體是最好的,就像在SQL中一樣。我希望避免遷移,但我找不到更好的方法。我正在使用fetchedresutlscontrollers,它需要謂詞提取,我不能手動過濾。 – 2012-01-13 06:28:24