我想構建一個核心數據存儲的查詢,該查詢在長字符串中出現時檢索實體的屬性值;編寫'CONTAINED_BY'文本查詢的NSPredicate
即,而不是尋求例子,其中屬性值包含一個(短)字符串:
request.predicate = [NSPredicate predicateWithFormat:@"carBrand contains[c] 'merced'"]
我想找到(的實體),其屬性值被發現情況下,「包含在」任意(更長)字符串:
NSString* textString = @"Elaine used to drive Audis, but now owns a Mercedes";
request.predicate = [NSPredicate predicateWithFormat:@"%@ contains[c] carBrand", textString ];
(即檢索陣列保持與carBrand = @ 「奧迪」 和carBran對象。 d = @「奔馳」)
在我的嘗試,NSPredicate似乎並不喜歡在右側的屬性名稱表達並拋出一個錯誤...
[__NSCFConstantString countByEnumeratingWithState:對象:數:]:無法識別 選擇發送到實例0X
...有在左手側的屬性名構建這樣一個查詢的方式 - 一個「contained_by」查詢,因爲它是?
PS。搜索SO,我只發現solutions by splitting the text into component words,在我的情況下,將不理想!這是唯一可行的方法嗎?
在我的例子中,我希望找到*我的db中的許多Cars中的哪一個具有匹配字符串的某個部分的.carBrand。你的問題不能確認奧迪|梅賽德斯是否在線中? – cate 2014-11-06 12:15:51
是的,這個例子只是返回包含奧迪或奔馳的原始字符串,而沒有改變它們。 – 2014-11-06 12:18:19
編輯以澄清所需結果的問題是實體*的*數組,其給定*屬性值*與任意動態搜索源字符串的某個子字符串匹配。 – cate 2014-11-06 13:49:24