Как свойства @NSManaged могут быть в расширении, если расширения не могут содержать сохраненные свойства? Почему они не совпадают с хранимыми свойствами?
Популярный формат для файлов базовых данных - это класс базовых данных, а затем расширение, содержащее свойства базовых данных.
//User+CoreDataClass
@objc(User)
public class User: NSManagedObject {
var fullName: String {
return "\(firstName) \(lastName)"
}
}
//User+CoreDataProperties
extension User {
// Why can these @NSManaged properties live in an extension?
@NSManaged public var id: Int64
@NSManaged public var firstName: String
@NSManaged public var lastName: String
var storedProp: String // Error: Extensions must not contain stored properties
}