7

我一直創建我的NSFetchRequests完全在代碼中。現在我正在查看Xcode GUI來構建一個獲取請求並將其存儲在模型中。存儲在CoreData模型中的FetchRequests的變量替換

我正在關注Xcode文檔中的一個示例。我添加了一個讀取請求我的模型,並已通過建模GUI創建的謂詞是:

firstName LIKE[c] "*SUBSTRING*" 

我然後檢索這些兩行要求:

NSDictionary *substituionDictionary = [NSDictionary dictionaryWithObject:@"woody" forKey:@"SUBSTRING"]; 

NSFetchRequest *fetchRequest = [mom fetchRequestFromTemplateWithName:@"firstNameContains" substitutionVariables:substituionDictionary]; 

的的的NSLog所得NSFetchRequest輸出該:

(entity: Customer; predicate: (firstName LIKE[c] "*SUBSTRING*"); sortDescriptors: (null); limit: 0) 

..這表示該變量沒有被存儲的FetchRequest的返回之前被取代。

那麼,如何指定在Xcode數據建模提取請求謂詞生成器GUI中輸入的文本將在運行時被NSFetchRequest取代:fetchRequestFromTemplateWithName:substitutionVariables:?

謝謝!

伍迪

回答

5

您需要在含有目標變量的讀取請求謂詞編輯的行單擊鼠標右鍵,從彈出的選擇「變量」。在Xcode編輯器中,右鍵單擊有時會很挑剔,所以我傾向於點擊+/-按鈕的左側。

+0

天才。這正是解決方案。 (我從來沒有遇到過像蘋果應用程序那樣不直觀的東西,就像那個隱藏的彈出窗口)。我不知道如果我沒有問過,並且你回答了我怎麼會遇到過。謝謝!! – Woodster 2010-05-24 20:31:12

+1

我同意。請在http://bugreport.apple.com上提交針對用戶界面的增強請求和針對文檔的錯誤(不告訴你在哪裏查看)! – 2010-05-24 22:41:06