一千萬個為什麽

搜索

帶數組的核心數據獲取請求

我正在嘗試使用謂詞設置獲取請求以獲取商店中的記錄,該記錄的標識符屬性與謂詞中指定的標識符數組匹配,例如

NSString *predicateString = [NSString stringWithFormat:@"identifier IN %@", employeeIDsArray];

employeeIDsArray包含許多與商店中的ID匹配的NSNumber對象。但是,我收到錯誤“無法解析格式字符串”。如果它用於過濾數組,則此類型的謂詞有效,但如上所述,對於核心數據提取失敗。我應該如何設置謂詞?

最佳答案

NSPredicate doesn't use formats like NSString does. So that the result of a predicate creation using the pre-generated predicateString won't be a valid predicate.

你必須使它成為一個實際的謂詞:

NSPredicate * predicate = [NSPredicate predicateWithFormat:@"identifier IN %@", employeeIDsArray];
[fetchRequest setPredicate:predicate];

有關更多信息,請參見文檔關於謂詞格式。

轉載註明原文: 帶數組的核心數據獲取請求