0

我有一堆 MySQL 行,我从 PHP 脚本下载到 iOS 并保存到核心数据中。现在,我对核心数据比较陌生。我将如何从核心数据中获取这些行之一来显示?如果这太模糊,这是我的情况:当用户单击 iOS 中的特定按钮时,我想根据用户显示特定结果,例如与更大列表中的用户位置匹配的城市名称的城市名称。但是,我只需要一排。我只是希望了解该过程和任何帮助,无论是教程还是具体建议,将不胜感激!

4

1 回答 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 回答