CoreData
代码生成不会为NSManagedObject
生成swift3
个子类,例如:它会创建NSDate
个属性而不是Date
。知道如何为Swift3
生成模型?
注意: - 我在CoreData
代码生成设置中未找到任何内容,无法将语言明确切换为Swift 3
,但我们可以生成Swift
模型。但是有一些类已在Swift 3
中更新。
答案 0 :(得分:1)
许多属性类型仍然使用NSObject
的子类。您很可能需要手动转换它们。
对于NSDate
,您可以使用:
return (date as NSDate?) ?? nil
和
return (date as Date?) ?? nil
为了便于使用,您可以在Date
和NSDate
上创建扩展,以便按照您希望的方式返回类型转换值。另一种方法是将数据库中的日期字段更改为rawDate
,然后创建一个覆盖setter和getter的属性date
,并进行原始属性rawDate
的转换。
在任何情况下,Swift 3中都没有排除这些对象,它们在大多数API中都被更新的类型替换。