核心数据正在创建NULL值

时间:2013-12-29 08:26:53

标签: ios iphone objective-c core-data

我有一段非常简单的保存代码,如下所示:

 SOModule* newModule = [NSEntityDescription insertNewObjectForEntityForName:@"SOModule" inManagedObjectContext:self.managedObjectContext];
 newModule.name = self.tf_name.text;
 newModule.ip = self.tf_ip.text;
 newModule.port = self.tf_port.text;
 newModule.user = self.tf_user.text;
 newModule.password = self.tf_pass.text;
 newModule.created = [NSDate date];
 NSError* error = [NSError alloc]init];
 [self.managedObjectContext save:&error]; //doesn't say anything when NULL stuff is created

使用此Core Data方法创建托管对象上下文:

-(NSManagedObjectContext*)managedObjectContext
{
    return [(SOAppDelegate*)[[UIApplication sharedApplication]delegate]managedObjectContext];
}

问题是,当我尝试在SOModule对象中保存文本字段时,我会在随机时间获取NULL值。这是我从检查我的核心数据数据库中提取的一个例子:

enter image description here

正如您所看到的,没有出现可识别的NULL值模式,而每次都以相同的方式调用save函数。另外,为了澄清,我刚刚开始多次放test8因为我累了哈哈,但我还没有实现重复检查,所以这不重要。

任何帮助都会很棒,这让我疯狂!

〜Carpetfizz

1 个答案:

答案 0 :(得分:0)

为了调试程序,我有一个循环值并将其打印在屏幕上的方法。问题是我正在将循环迭代器初始化为托管对象上下文子类。每次添加循环时都会添加,并且该对象将添加到保存队列中。在任何时候调用save时,托管对象上下文子类将保存。