我总是完全在代码中创建我的 NSFetchRequests。现在我正在查看用于构建获取请求并将其存储在模型中的 Xcode GUI。
我正在遵循 Xcode 文档中的示例。我在模型中添加了一个 Fetch Request,通过 Modeling GUI 创建的谓词是:
firstName LIKE[c] "*SUBSTRING*"
然后我用这两行检索该请求:
NSDictionary *substituionDictionary = [NSDictionary dictionaryWithObject:@"woody" forKey:@"SUBSTRING"];
NSFetchRequest *fetchRequest = [mom fetchRequestFromTemplateWithName:@"firstNameContains" substitutionVariables:substituionDictionary];
生成的 NSFetchRequest 的 NSLog 输出以下内容:
(entity: Customer; predicate: (firstName LIKE[c] "*SUBSTRING*"); sortDescriptors: (null); limit: 0)
.. 这表明在返回存储的 FetchRequest 之前变量没有被替换。
那么,如何指定在 Xcode Data Modeling Fetch Request Predicate Builder GUI 中输入的文本在运行时被 NSFetchRequest:fetchRequestFromTemplateWithName:substitutionVariables: 替换?
谢谢!
伍迪