Ios NSManagedObject模型在代码中的用法

Ios NSManagedObject模型在代码中的用法,ios,swift,core-data,nsmanagedobjectmodel,Ios,Swift,Core Data,Nsmanagedobjectmodel,我有一个用户模型类(由XCode和Swift生成): 它的扩展: extension User { @NSManaged var id: NSNumber? @NSManaged var firstName: String? @NSManaged var lastName: String? @NSManaged var birthYear: NSNumber? } 我可以从CoreData保存/获取数据。 但是我可以在没有CoreData的情况下

我有一个用户模型类(由XCode和Swift生成):

它的扩展:

extension User {    
    @NSManaged var id: NSNumber?
    @NSManaged var firstName: String?
    @NSManaged var lastName: String?
    @NSManaged var birthYear: NSNumber?    
}
我可以从CoreData保存/获取数据。 但是我可以在没有CoreData的情况下使用此类进行对象管理吗?或者我需要为此创建其他类/结构

例如,创建用户对象(不带ObjectContext),设置其属性并在某些func中将其作为属性发送?也许我可以在类用户中创建一些结构(如
struct{var firstNameData,secondNameData,…}
),并在代码中使用它?

我更新了类:

struct User {

    var id:        Int!
    var firstName: String!
    var lastName:  String!
    var birthYear: UInt?
}

@objc(UserManagedObject)
class UserManagedObject: NSManagedObject {

    func toStruct() -> User {

        var userData = User()
        userData.id = Int(self.id)
        userData.firstName = self.firstName
        userData.lastName  = self.lastName
        if let by = self.birthYear {
            userData.birthYear = UInt(by)
        }

        return userData
    }
}
现在,对于对象管理,我使用struct User和UserManagedObject作为核心数据输入/输出

i更新的类:

struct User {

    var id:        Int!
    var firstName: String!
    var lastName:  String!
    var birthYear: UInt?
}

@objc(UserManagedObject)
class UserManagedObject: NSManagedObject {

    func toStruct() -> User {

        var userData = User()
        userData.id = Int(self.id)
        userData.firstName = self.firstName
        userData.lastName  = self.lastName
        if let by = self.birthYear {
            userData.birthYear = UInt(by)
        }

        return userData
    }
}

现在对于对象管理,我使用struct User和UserManagedObject作为核心数据输入/输出

您不能创建没有上下文的ManagedObject。您不能创建没有上下文的ManagedObject。