大家好我有使用CoreData持久性的問題,我的問題是,當我啓動我的應用程序管理與使用的NSLog添加一些數據(從應用程序內的表單)到我的數據庫並顯示出來。 但實際上,我認爲所有這些數據在我停止ipad模擬器並重新啓動後消失..數據持久化與CoreData
所以我真的不知道它是否來自我的代碼或者是因爲模擬器。 我做了一個圖給你看我的應用程序的架構和我的實體:
的問題是,我使用不同的viewController,所以我需要通過ManagedObjectModel每個一。我的表單在newDocumentViewController中,當我添加索姆實體時,我想在所有其他viewController中訪問它們並將其保存到應用程序本地存儲中。
下面是一些代碼向你展示了一下:
AppDelegate.m
@synthesize managedObjectContext = __managedObjectContext;
@synthesize managedObjectModel = __managedObjectModel;
@synthesize persistentStoreCoordinator = __persistentStoreCoordinator;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController:detailViewController];
MasterViewController *masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil];
UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
masterViewController.managedObjectContext = self.managedObjectContext;
detailViewController.managedObjectContext = self.managedObjectContext;
我有每個masterViewController和DetailViewController(從DetailViewController到NewDocumenViewController)內這些屬性來接收的ObjectContext
@property (nonatomic,strong) NSManagedObjectContext *managedObjectContext;
所以有了這個,我真的不知道如何從每個控制器訪問我的數據,並且將數據存儲LO凱莉做這樣的:
NewDocumentController.m
-(void) addNewDocument:(NSString*)name with_niveau:(NSInteger)level{
Document *doc = [NSEntityDescription insertNewObjectForEntityForName:@"Document" inManagedObjectContext:managedObjectContext];
doc.nom=name;
doc.niveau=[NSNumber numberWithInteger:level];
}
-(void) addNewDocument_info:(NSString*)name with_createur:(NSString*)createur with_dateModif:(NSDate*)date1 with_status:(BOOL)etat{
DocumentInfo *doc_info = [NSEntityDescription insertNewObjectForEntityForName:@"DocumentInfo" inManagedObjectContext:managedObjectContext];
doc_info.nom =name;
doc_info.createur=createur;
doc_info.date_creation=[NSDate date];
doc_info.date_modification=date1;
doc_info.status= [NSNumber numberWithBool:etat];
}
笑!簡單的回答,以巨大的問題 – QED
我發現它幾分鐘前正義謝謝你回答:) – Bobyblanco