我有一堆 MySQL 行,我从 PHP 脚本下载到 iOS 并保存到核心数据中。现在,我对核心数据比较陌生。我将如何从核心数据中获取这些行之一来显示?如果这太模糊,这是我的情况:当用户单击 iOS 中的特定按钮时,我想根据用户显示特定结果,例如与更大列表中的用户位置匹配的城市名称的城市名称。但是,我只需要一排。我只是希望了解该过程和任何帮助,无论是教程还是具体建议,将不胜感激!
user1746156
问问题
482 次
1 回答
1
以下是使用对象的基础知识:
// Utility method to fetch objects
- (NSArray *)fetchEntity:(NSString *)entityName withPredicate:(NSPredicate *)predicate inContext:(NSManagedObjectContext *)moc
{
NSFetchRequest* request = [[NSFetchRequest alloc] init];
NSEntityDescription* entity = [NSEntityDescription entityForName:entityName inManagedObjectContext:moc];
[request setEntity:entity];
[request setPredicate:predicate];
return [moc executeFetchRequest:request error:nil];
}
您可以像这样使用它来获取名称:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@",@"My product"]; // act as a filter
NSManagedObject *product = [[CoreDataUtils fetchEntity:@"Product" withPredicate:predicate inContext:self.moc] objectAtIndex:0];
NSLog(@"%@",[product objectForKey:@"name"]);
或者您可以像这样设置名称:
[product setValue:@"New Product" forKey:@"name"];
编辑对象时不要忘记保存 NSManagedObjectContext
[self managedObjectContext save:nil];
这里有一个很棒的教程:iOS 5 上的核心数据教程:入门
于 2012-10-15T06:32:51.663 回答