1

I have a User model class (generated by XCode with Swift):

@objc(User)
class User: NSManagedObject { }

And it's extension:

extension User {    
    @NSManaged var id: NSNumber?
    @NSManaged var firstName: String?
    @NSManaged var lastName: String?
    @NSManaged var birthYear: NSNumber?    
}

I can save/fetch data from CoreData. But can I use this class for object management without CoreData things? Or i need to create other class/struct for this?

For example, create User object (without ObjectContext), set his attributes and send it as property in some func? Maybe i can create some struct in class User (like struct {var firstNameData, secondNameData,...}) and use it in code?

Viktor
  • 1,020
  • 1
  • 9
  • 22

1 Answers1

0

I updated class:

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
    }
}

Now for object management i use struct User and UserManagedObject for CoreData in/out

Viktor
  • 1,020
  • 1
  • 9
  • 22