将创建的实例添加到CoreData

时间:2010-06-30 16:11:07

标签: iphone core-data storage

我刚才首先尝试了核心数据。

我创建了一个App,它从服务器加载位置,并使用JSON-Parser动态模型实例创建类“位置”。工作正常,没问题。

现在我需要在客户端上将某些位置存储为favorizedLocations localy。因此我想使用CoreData。 我已经设置了一个带有“添加到收藏夹”按钮的LocationsDetailView。接下来应该发生的事情就是现在的“未知事物”。

- (void)addFavorite{
LogForGUI(@"TODO Add Favorit with name %@ to Core Data", **objTheLocation**.strAdr);
// Create a new instance of the entity managed by the fetched results controller.
NSManagedObjectContext *context = [fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[fetchedResultsController fetchRequest] entity];
NSManagedObject *newManagedObject = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];

// If appropriate, configure the new managed object.
[newManagedObject setValue:[NSDate date] forKey:@"timeStamp"];...

我创建了Location.xcdatamodel Location.h Modelclass。我不得不删除xcdatamodel中的Arrays和Dictionaries,因为它们需要一个Type和Array(显然)。

所以我想要的: 我想在不设置所有属性的情况下将我已创建的模型实例带入CoreData World。

第二个问题:我如何使用核心数据处理数组和字典。

1 个答案:

答案 0 :(得分:2)

首先,您不处理Core Data中的数组和字典。核心数据 是您的对象图。

至于你的第一个问题,你的模型实例是什么意思?如果您创建了xcdatamodel,它将被编译为mom文件并放在您的Resources文件夹中。使用模板Core Data代码,您可以加载mom文件并创建Core Data堆栈。

如果您没有提及xcdatamodel,请澄清您的问题。

更新

强烈建议您重新阅读Core Data文档,因为您的实施无法正常运行。