2
我試圖使用NSPredicate搜索字符串中的CoreData對象匹配的數組像這樣產生NSPredicate字符串匹配名稱或客戶端名稱與一個不區分大小寫(注:這應該允許部分匹配,從而使「應用」將匹配「蘋果公司」等):在謂語提到對NSSet中的
(name LIKE[cd] %@) OR (ANY companies.name LIKE[cd] %@) OR (ANY companies.clients.name LIKE[cd] %@)
的CoreData關係看起來像這樣:
SELF -> (NSString *) name
SELF -> (NSSet *) companies -> (NSString *) name
SELF -> (NSSet *) companies -> (NSSet *) -> clients -> (NSString *) name
每當我試圖通過上面的謂詞來篩選,我發現在我的控制檯如下:
HIToolbox: ignoring exception 'Can't do regex matching on object {(
"Apple Inc.",
"Test Co.",
Microsoft
)}.'
如果我理解正確的事情,它看起來好像試圖匹配反對的keyPath「 companies.clients.name「返回一個NSSet(或其他對象),其中NSString(名稱)是預期的。
我在做什麼錯?
@distinctUnionOfSets取得了訣竅。非常感謝你。 – ndg 2010-08-04 22:07:54