NSManagedObject 验证和子类

Posted

技术标签:

【中文标题】NSManagedObject 验证和子类【英文标题】:NSManagedObject Validation and Subclasses 【发布时间】:2017-11-13 16:44:51 【问题描述】:

Xcode 8.0 及以上版本如何实现NSManagedObject 子类的自定义属性验证方法?我们如何在 Xcode 8.0 中创建NSManagedObject 子类?

Xcode 8.0 之前

Xcode -> 文件 -> 新建 -> 文件 -> 核心数据 -> NSManagedObject 子类

【问题讨论】:

你要 Swift 3 和 4 吗? @Arrabidas92 Swift 3.0 这里是如何通过 Apple 文档(寻找创建 NSManagedObject 子类):developer.apple.com/library/content/documentation/Cocoa/… @Arrabidas92 不,伙计!我认为它不适用于 Swift 3.0 或更高版本。不过谢谢你的关注。我很感激。 好吧,我在文档底部看到:更新于 2017-03-27 【参考方案1】:

对于 Xcode 8 或更高版本,NSManagedObject 子类会自动创建,除非您告诉 Xcode 不要这样做。使用 Swift 你可以让 Xcode 创建一个子类,或者创建你自己的子类并让 Xcode 添加一个带有属性声明的扩展,或者告诉 Xcode 不要自动生成任何东西。这不是关于 Swift 3.0 或 4.0,而是关于 Xcode。

您在模型编辑器中选择其中之一。 “类定义”是默认设置。

验证方法的工作方式与以往相同。您在托管对象子类中实现它们。您也可以在该类的扩展中实现它们。

【讨论】:

你说你可以在那个类的扩展中实现它们是什么意思。你能通过显示一些示例代码来解释吗?我知道 Automatic Subclass Generation 是如何工作的。谢谢你的回答! 我的意思是,如果你有一个 NSManagrdObject 的子类,你可以为那个类创建一个 Swift 扩展,并在那个扩展中实现方法。

以上是关于NSManagedObject 验证和子类的主要内容,如果未能解决你的问题,请参考以下文章

NSManagedObject 子类属性

新的 NSManagedObject 子类与新的 NSObject 子类?

具有关系的 NSManagedObject 的 Coredata 和 Generated 子类

Xcode 和核心数据 - “创建 NSManagedObject 子类”

NSManagedObject 子类问题

NSManagedObject 子类导致 NSInvalidArgumentException