为什么核心数据不在此代码中保持持久性?
Why isn't core data maintaining persistance in this code?
这是我的代码
+(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() 方法。如果我退出并重新打开应用程序,数据仍然不存在。
编辑
我正在使用模型 class 在 5 classes.
中调用方法
我必须添加什么才能实现数据持久化?
在这些行中的第二行放置一个断点
AppDelegate *appDelegate;
[appDelegate saveContext]; // <----- here
appDelegate 设置不正确,断点将确认这一点。
需要像这样设置[东西]:
// untested
appdelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
这是我的代码
+(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() 方法。如果我退出并重新打开应用程序,数据仍然不存在。
编辑 我正在使用模型 class 在 5 classes.
中调用方法我必须添加什么才能实现数据持久化?
在这些行中的第二行放置一个断点
AppDelegate *appDelegate;
[appDelegate saveContext]; // <----- here
appDelegate 设置不正确,断点将确认这一点。
需要像这样设置[东西]:
// untested
appdelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];