我有一个用户模型类(由 XCode 和 Swift 生成):
@objc(User)
class User: NSManagedObject { }
它的扩展名:
extension User {
@NSManaged var id: NSNumber?
@NSManaged var firstName: String?
@NSManaged var lastName: String?
@NSManaged var birthYear: NSNumber?
}
我可以从 CoreData 保存/获取数据。 但是我可以在没有 CoreData 的情况下使用这个类进行对象管理吗?或者我需要为此创建其他类/结构?
例如,创建 User 对象(没有 ObjectContext),设置他的属性并将其作为属性发送到某个函数中?也许我可以在 User 类中创建一些结构(例如 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 用于 CoreData 输入/输出
关于ios - 在代码中使用 NSManagedObject 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33821159/