为什么核心数据不能在此代码中保持持久性?

时间:2017-03-28 09:42:29

标签: ios core-data persistence

这是我的代码

+(FavouritesModel *) saveFavourites: (NSString *) title and: (NSString *) subtitle{

FavouritesModel *saveData = [[FavouritesModel alloc] init];
saveData.context = [saveData managedObjectContext];
NSManagedObject *task = [[Favourites alloc] initWithContext:saveData.context];

[task setValue:title forKey:@"title"];
[task setValue:subtitle forKey:@"subtitle"];

NSString *titleStr = [task valueForKey:@"title"];
NSString *subtitleStr = [task valueForKey:@"subtitle"];

[saveData.favouritesData addObject:titleStr];
[saveData.favouritesData addObject:subtitleStr];

AppDelegate *appDelegate;
[appDelegate saveContext];

return saveData;
}

我想要保存的数据,但它不会持续存在。我在" applicationWillTerminate"中使用了saveContext()方法。在app代理中也是如此。如果我退出并重新打开应用程序,数据就不存在了。

修改 我使用模型类在5个类中调用该方法。

我需要添加什么来实现数据持久性?

1 个答案:

答案 0 :(得分:0)

在这些行中的第二行放置断点

AppDelegate *appDelegate;
[appDelegate saveContext]; // <----- here

appDelegate未正确设置,断点将确认此信息。

需要像这样设置[某事]:

// untested
appdelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];