1

我希望能够将托管对象上下文传递给 UITableView 视图,以便能够保存日期。我怎样才能做到这一点?我应该添加什么?我连接了模型并使用实体事件和属性时间戳对其进行了配置。这是项目,它真的很简单,我认为你不会花时间去理解,因为除了导航栏添加按钮之外我没有添加太多东西,其他的都是基础知识。我确实试图让它工作,但出现一个错误,告诉我 managedObjectContext 传递的是 nil。https://www.dropbox.com/s/a1348diy589c2s0/Demo.zip?m

4

2 回答 2

1

我检查了你的代码。您没有模型类 e Event.h(m)。首先,您必须创建它。

  1. Demo.xcdatamodeld选择你的实体Event添加一个新的文件子类NSManagedObjectContext

  2. 添加#import "Event.h" #import "DemoAppDelegate.h"到您的 DemoDateViewController.m

  3. NSManagedObjectContext *context = [(DemoAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
    Event *event =  [NSEntityDescription insertNewObjectForEntityForName:@"Event" inManagedObjectContext:context];  
    [event setTimeStamp:[NSDate date]];
    NSError *error = nil;
      // If you have a propert called `managedObjectContext` assign `context` to it and use every where
      // self.managedObjectContext = context
    
      // or this is enough
     if (![context save:&error])
     {
    
      NSLog(@"insertNewObject error = %@", error);
     }
    
于 2013-03-02T10:53:05.453 回答
0

假设您在应用程序委托中声明并初始化您的托管上下文,就像在项目模板中一样,您可以从那里获取您的上下文。

在您的视图控制器中导入您的应用程序委托

#import "MyAppDelegate.h"

并访问托管上下文

context = [(MyAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
于 2013-03-02T10:14:20.730 回答