【发布时间】:2015-07-05 01:23:40
【问题描述】:
嗨,我是 iOS 的新手,第一次使用 Core Data,我的任务是我有三个文本字段 [姓名、电子邮件、出生日期],当我将数据放入文本字段并按下保存按钮然后数据来自文本字段保存在核心数据中并移至下一页以在表格视图中显示数据。 我已经构建了名为 CoreData.xcdatamodeld 的核心数据文件和一个实体和三个属性名称、电子邮件和出生日期。
-(IBAction)saveButton:(id)sender{
if (switchButton.isOn)
{
NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject *transaction = [NSEntityDescription insertNewObjectForEntityForName:@"Shruti" inManagedObjectContext:context];
NSManagedObject *name = [NSEntityDescription insertNewObjectForEntityForName:@"name" inManagedObjectContext:context];
NSManagedObject *email = [NSEntityDescription insertNewObjectForEntityForName:@"email" inManagedObjectContext:context];
NSManagedObject *dob = [NSEntityDescription insertNewObjectForEntityForName:@"dob" inManagedObjectContext:context];
[name setValue:self.nameTextField.text forKey:@"name"];
[email setValue:self.emailTextField.text forKey:@"email"];
[dob setValue:self.dobTextField.text forKey:@"dob"];
NSLog(@"Switch is On and data is saved in Core Data");
TableViewController *objOfView = [[TableViewController alloc]initWithNibName:@"TableViewController" bundle:nil];
[self.navigationController pushViewController:objOfView animated:YES];
}
else{
NSLog(@"Switch is Off and data not saved in Core Data");
}
}
在核心数据中,我的实体名称为 Shruti,三个属性名称为名称 email 和 dob。 如果不正确,那我错在哪里?
【问题讨论】:
-
当我按下然后应用程序因错误而崩溃
-
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“+entityForName: nil 不是搜索实体名称“Shruti”的合法 NSManagedObjectContext 参数”
-
您确定您的 persistentStoreCoordinator 有效/创建正确吗?
-
您已经为 *transaction 创建了一个
NSManagedObject,但您没有为其设置价值。您的姓名、电子邮件和出生日期不应该是 *transaction 的属性吗??
标签: ios objective-c core-data