我有三个实体核心数据模型:交易,场合,人物,当我目前在交易实体获取,我得到“NULL”作为数据库中的值。 让我解释。
交易是在我的情况下,有个人和场合关系的实体。 该人士实体都有一个name属性和交易实体的关系。 交易(Person实体)<------ >> whoBy(交易实体)。
还有一个从类别属性(际实体)<---------------- >>事件(事务实体)的关系。
我在这个应用程序的基本阶段。 我有一个表视图控制器,当您按下加号按钮,系统会询问,在模式视图,添加的名称和场合。 最终,两人都会被显示在表视图的名称是细胞的主要文本和一次是字幕。
当我从用户直接添加插入值,以Person实体,代表name属性,它的工作原理,我看到这个表视图。 这同样适用场合(单独对个人)。
然而,当我直接的数据添加到交易实体,并使用fetchRequest带来的是,每次我按时间保存传递价值,并返回到表视图,我带有(NULL)。
我AddEntryVC有这样的保存按钮方法:
NSManagedObject *newEntry = [NSEntityDescription insertNewObjectForEntityForName:@"Transaction" inManagedObjectContext:context];
[newEntry setValue:self.nameTextField.text forKeyPath:@"whoBy.name"];
在表视图,我有:
//还有就是NSMutableArray的属性称为交易持有交易NSFetchRequest * fetchRequest = [[NSFetchRequest页头] initWithEntityName:@ “交易”]; self.transactions = [[managedObjectContext executeFetchRequest:fetchRequest误差:无] mutableCopy];
//在的cellForRowAtIndexPath NSManagedObject *交易= [self.transactions objectAtIndex:indexPath.row];
[cell.textLabel setText:[NSString stringWithFormat:@"%@", [transaction valueForKeyPath:@"whoBy.name"]]];
当我运行这一点,有没有错误/警告,当我添加一个条目,我看到(NULL)作为保存的结果。 当我运行相同的代码,只需修改交易是直接的人,包括MutableArray,它的工作原理。
所以我几乎没有..但会很感激的任何援助。 我觉得whoBy.name的关系是行不通的。 因为它是一个关系。 我无法想象我不得不去设置Person.name属性; 它应该只是事务工作?
我也曾尝试读取请求以下谓词:
fetchRequest.predicate = [NSPredicate predicateWithFormat:@ “whoBy.name =%@”,self.personTransaction.name];
..如果personTransaction是@property(非原子,强)人* personTransaction性能,并且具有相同的结果。
提前致谢