iOS如何从文本字段将数据保存在核心数据中,并在tableview中显示这些数据?

iOS如何从文本字段将数据保存在核心数据中,并在tableview中显示这些数据?,ios,objective-c,core-data,Ios,Objective C,Core Data,嗨,我是iOS新手,第一次处理核心数据我的任务是我有三个文本字段[姓名、电子邮件、dob]一个保存按钮,当我将数据放入文本字段并按下保存按钮时,然后文本字段中的数据保存在核心数据中,并移动到下一页以在tableview中显示数据。 我已经构建了名为CoreData.xcdatamodeld的核心数据文件,以及一个实体和三个属性名称、电子邮件和出生日期 -(IBAction)saveButton:(id)sender{ if (switchButton.isOn) {

嗨,我是iOS新手,第一次处理核心数据我的任务是我有三个文本字段[姓名、电子邮件、dob]一个保存按钮,当我将数据放入文本字段并按下保存按钮时,然后文本字段中的数据保存在核心数据中,并移动到下一页以在tableview中显示数据。 我已经构建了名为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,三个属性名称为name email和dob。
如果不对,那我错在哪里

如果您正确设置了实体和属性,那么您应该能够添加类似的内容

NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject *transaction = [NSEntityDescription insertNewObjectForEntityForName:@"Shruti" inManagedObjectContext:context];


[transaction setValue:self.nameTextField.text forKey:@"name"];
[transaction setValue:self.emailTextField.text forKey:@"email"];
[transaction setValue:self.dobTextField.text forKey:@"dob"];

// Save the context
NSError *error = nil;
if (![context save:&error]) {
    NSLog(@"Save Failed! %@ %@", error, [error localizedDescription]);
}
但看起来您已经创建了四个不同的实体,而不是一个具有三个属性的实体。 返回数据模型文件,确保
Shruti
具有它的三个属性。如果不是简单地按“+”按钮创建一个,请设置它的名称,并将它的属性类型设置为“字符串”。
并确保删除这些实体的名称、电子邮件和dob。希望这会有所帮助。

当我按下时,应用程序崩溃,错误终止应用程序,原因是未捕获异常“NSInvalidArgumentException”,原因:'+entityForName:nil不是合法的NSManagedObjectContext参数搜索实体名称'Shruti''您确定您的persistentStoreCoordinator有效/创建正确吗?您已经为*事务创建了一个
NSManagedObject
。您的姓名、电子邮件和dob不应该是*事务的属性吗??