首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Swift中设置NSManagedObject关系

在Swift中设置NSManagedObject关系
EN

Stack Overflow用户
提问于 2014-06-10 16:43:06
回答 8查看 23.3K关注 0票数 35

如何在Swift中的NSManagedObject子类中向关系属性添加对象?

在Objective中,当从数据模型在Xcode中生成NSManagedObject子类时,有一个自动生成的类扩展,其中包含如下声明:

代码语言:javascript
复制
@interface MyManagedObject (CoreDataGeneratedAccessors)

     - (void)addMySubObject: (MyRelationshipObject *)value;
     - (void)addMySubObjects: (NSSet *)values;

@end

但是,Xcode目前缺乏Swift类的类生成能力。

如果我试图直接调用Swift对象上的等效方法:

代码语言:javascript
复制
myObject.addSubObject(subObject)

...I在方法调用上得到一个编译器错误,因为这些生成的访问器是不可见的。

我已经将relationship属性声明为@NSManaged,如文档中所述。

或者,对于具有关系的数据模型,我必须恢复到objects对象吗?

EN

Stack Overflow用户

发布于 2016-09-20 03:10:33

从Xcode 8和Swift 3.0开始,Xcode现在为关系生成访问器。例如,我有一个NSManagedObject类商店,它与条目有一对多的关系;我称之为关系SellsItems。生成的Store类现在具有以下从SellsItems中添加和删除的扩展。向关系中添加或删除项就像调用这些函数一样简单。

代码语言:javascript
复制
// MARK: Generated accessors for sellsItems
extension Store {
    @objc(addSellsItemsObject:)
    @NSManaged public func addToSellsItems(_ value: Item)

    @objc(removeSellsItemsObject:)
    @NSManaged public func removeFromSellsItems(_ value: Item)

    @objc(addSellsItems:)
    @NSManaged public func addToSellsItems(_ values: NSSet)

    @objc(removeSellsItems:)
    @NSManaged public func removeFromSellsItems(_ values: NSSet)
}
票数 6
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24146524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档