gpt4 book ai didi

objective-c - Xcode 4 : Fetch Request Template Variables?

转载 作者:太空狗 更新时间:2023-10-30 03:17:43 27 4
gpt4 key购买 nike

在 Xcode 3.X 中,您应该在获取请求模板的谓词编辑器中右键单击空白以指定变量输入而不是硬编码谓词。

这在 XCode 4 中的什么位置?我按住了选项、右键单击、选项单击等,但无法弄清楚....

Variable in Fetch Request Template Editor Predicate

最佳答案

我认为 X4 不再具有变量。

相反,我认为您必须选择一个表达式,然后提供一个 $VARNAME 形式的变量。

例如,给定实体 Alpha 和一个属性 aString,我创建了一个提取请求模板 bobFetch,表达式为 aString == $TESTVAR

Alpha *a=[NSEntityDescription insertNewObjectForEntityForName:@"Alpha" inManagedObjectContext:self.moc];
a.aString=@"steve";
[self saveContext];
NSDictionary *subVars=[NSDictionary dictionaryWithObject:@"steve" forKey:@"TESTVAR"];
NSFetchRequest *fetchRequest = [self.managedObjectModel fetchRequestFromTemplateWithName:@"bobRequest" substitutionVariables:subVars];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Alpha" inManagedObjectContext:self.moc];
[fetchRequest setEntity:entity];

如果记录 fetchRequest 报告:

<NSFetchRequest: 0x4d17480> (entity: Alpha; predicate: (aString == "steve"); sortDescriptors: ((null)); type: NSManagedObjectResultType; )

...然后就可以正常使用了。

NSError *error = nil;
NSArray *fetchedObjects = [self.moc executeFetchRequest:fetchRequest error:&error];
if (fetchedObjects == nil) {
NSLog(@"fetch error = %@",error);
}
NSLog(@"fetchObjects = %@",fetchedObjects);

对于图形环境来说有点笨拙,但它可以工作。

关于objective-c - Xcode 4 : Fetch Request Template Variables?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7099595/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com