在代码中使用NSManagedObject模型

时间:2015-11-20 07:28:43

标签: ios swift core-data nsmanagedobjectmodel

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

$('body').on('input !focus','.totalprice',function(){
   do something
}

它的扩展名:

@objc(User)
class User: NSManagedObject { }

我可以从CoreData保存/获取数据。 但是我可以将此类用于没有CoreData事物的对象管理吗?或者我需要为此创建其他类/结构?

例如,创建User对象(没有ObjectContext),设置他的属性并将其作为属性发送到某个func中?也许我可以在类User中创建一些结构(如extension User { @NSManaged var id: NSNumber? @NSManaged var firstName: String? @NSManaged var lastName: String? @NSManaged var birthYear: NSNumber? } )并在代码中使用它?

1 个答案:

答案 0 :(得分:0)

我更新了课程:

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 for CoreData in / out