Я всегда создавал свой NSFetchRequests совершенно в коде. Теперь я смотрю на GUI XCode для создания запроса выборки и хранения его в модели.
Я следую примеру из Документации 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:?
Спасибо!
Древесный
Вам нужно щелкнуть правой кнопкой мыши строку редактора предикатов запроса на выборку, содержащую нужную переменную, и выбрать «ПЕРЕМЕННАЯ» во всплывающем окне. Когда вы щелкаете правой кнопкой мыши в редакторе Xcode, иногда бывает разборчиво, поэтому я предпочитаю нажимать слева от кнопок +/-.