【发布时间】:2013-12-29 08:26:53
【问题描述】:
我有一段非常简单的保存代码,如下所示:
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
Managed Object Context 是使用此 Core Data 方法创建的:
-(NSManagedObjectContext*)managedObjectContext
{
return [(SOAppDelegate*)[[UIApplication sharedApplication]delegate]managedObjectContext];
}
问题是,当我尝试将文本字段保存在 SOModule 对象中时,我会随机获取 NULL 值。这是我从检查我的核心数据数据库中提取的一个示例:
如您所见,NULL 值的出现没有可识别的模式,而每次都以相同的方式调用 save 函数。另外,为了澄清一下,我刚开始多次输入test8,因为我累了哈哈,但我还没有实现检查重复,所以这应该没关系。
任何帮助都会很棒,这让我发疯了!
~地毯嘶嘶声
【问题讨论】:
-
在调用 save 之前放入一些日志代码以显示对象名称。似乎您从 UI 中获取了 null 值,或者您以某种方式跳过了设置属性。
-
谢谢,原来我从 UI 中得到了一些垃圾!
-
请将您的评论更改为答案并接受它,以便问题显示为已关闭。
-
同意@HalMueller。您能否回复自己的答案,指出您发现的问题/解决方案,以便其他人可以看到?谢谢。
-
另外:
NSError* error = [NSError alloc]init];不正确,使用NSError* error;
标签: ios iphone objective-c core-data