我正在使用Objective-C学习iOS开发。我有一个包含大量数据的plist,并希望将它们导入到应用程序中。此plist包含一个商店,其中包含:location(映射为实体),court(映射为实体),title,subtitle,address,phone number和category(映射为实体)。我一直在研究并发现其中一个解决方案是使用CoreData + MagicalRecord。
这是我的映射(可能会建议更改):
选择邻域后,你有一个类别表(应该是类别实体),这个表是一个"细分"主要的plist。在选择类别后,应用程序将获取第二个表,该表显示包含所单击类别的每个商店。
在我的CategoriaViewController(CategoryViewController)中,我有一个方法来加载所有商店的所有类别,但不知道如何使用MagicalRecord将类别实体中的类别保存并在表格中显示。在我的方法中,我甚至实例化了类别实体,但不知道如何使用它。
这是我的方法(已翻译):
- (void) loadCategories {
self.category = [Category MR_createEntity];
self.listOfCategories = [[NSMutableArray alloc] init];
NSString *path = [[NSBundle mainBundle] pathForResource:@"Category" ofType:@"plist"]
NSDictionary *myPlist = [NSDictionary dictionaryWithContentsOfFile:path];
self.listOfCategories = [myPlist objectForKey:@"categories"];
}
here's我的全班。
答案 0 :(得分:1)
您的混淆源于您认为某个实体是一张桌子。但不,它只是对象图中的一个对象。您必须为要插入的每个对象调用MR_createEntity
。
[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
for (NSString *name in listOfCategories) {
Category *newCategory = [Category MR_createEntity];
newCategory.name = name;
}
}
将整个内容放入saveWithBlock
块中,以便在后台将其保存到商店。