【问题标题】:How can I create an Entity automatically, which has a one-to-one-not-optional-relationship to the Entity I'm creating?如何自动创建一个实体,它与我正在创建的实体具有一对一的非可选关系?
【发布时间】:2011-01-10 20:01:06
【问题描述】:

如何自动创建一个实体,它与我正在创建的实体具有一对一的非可选关系:

NSManagedObject *managedObject = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];

我找不到答案。我的解决方法是将关系设置为“可选”。有没有更好的方法来做到这一点?

【问题讨论】:

  • newEntityDescription 是错误的。您正在创建 NSMananagedObject,而不是 NSEntityDescription。

标签: objective-c ios core-data


【解决方案1】:

您在创建新实例后设置属性。验证规则(例如关系是否可选等)仅在保存时强制执行,尽管您可以使用某些方法更早地对其进行测试。这意味着您可以创建对象、设置属性和关系,然后保存。所以在这种情况下,你可能想要类似的东西

NSManagedObject *newObject = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
[newObject setValue:entity forKey:@"relationship"];
// now the object should be valid when you call save

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    • 2016-01-13
    相关资源
    最近更新 更多