FetchRequest模板不使用动态var

时间:2011-10-26 18:46:29

标签: core-data nsfetchrequest

我对FetchRequest模板有一个奇怪的问题。

当我明确地硬编码我想要替换的变量时:

NSFetchRequest *fetchRequest = [[[Helper appDelegate] managedObjectModel]
                                fetchRequestFromTemplateWithName:@"srStoryForLesson"
                                substitutionVariables:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:2] forKey:@"number"]];

每件事都很好。

但是当我尝试将var设置为整数(因为我希望它是动态的)时,我得不到fetch的结果。

NSInteger number = 2;

NSFetchRequest *fetchRequest = [[[Helper appDelegate] managedObjectModel]
                                fetchRequestFromTemplateWithName:@"srStoryForLesson"
                                substitutionVariables:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:number] forKey:@"number"]];

我无法理解有什么问题?

由于 沙尼

1 个答案:

答案 0 :(得分:1)

您展示的代码应该可以正常工作。您的错误在其他地方。

我建议不要使用像“number”这样的变量名,因为它们的通用性质会在Objective-C的全局名称空间中命名冲突。当您重新访问代码时,更具独特性和描述性的名称将更安全,更容易阅读。