Created
January 22, 2018 03:36
-
-
Save NghiaTranUIT/1302d98ba66ea2b1bcdddbc12d02fedc to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//: Playground - noun: a place where people can play | |
import UIKit | |
var str = "Hello, playground" | |
// ----------------------- | |
// User obj | |
// + JSON decode | |
// + Transform to NSManagedObject | |
// ----------------------- | |
// PlaceObj | |
// + JSON encode | |
// + Data encode | |
// + Transform to NSManagedObject | |
// ----------------------- | |
// TrackingObj | |
// + Transform to NSManagedObject | |
class NSManagedObject {} | |
class BaseObject { | |
func jsonDecode() -> [String: Any]? { | |
// Need Override | |
return nil | |
} | |
func dataDecode() -> Data? { | |
// Need Override | |
return nil | |
} | |
func tranformToNSManagedObject() -> NSManagedObject? { | |
// Need Override | |
return nil | |
} | |
} | |
class UserObj: BaseObject { | |
private let userInfo: String = "" | |
override func jsonDecode() -> [String : Any]? { | |
return ["userInfo": userInfo] | |
} | |
override func tranformToNSManagedObject() -> NSManagedObject? { | |
return NSManagedObject() | |
} | |
} | |
class PlaceObj: BaseObject { | |
let name: String = "" | |
override func jsonDecode() -> [String : Any]? { | |
return ["name": name] | |
} | |
override func dataDecode() -> Data? { | |
return name.data(using: String.Encoding.utf8) | |
} | |
override func tranformToNSManagedObject() -> NSManagedObject? { | |
return NSManagedObject() | |
} | |
} | |
class TrackingObj: BaseObject { | |
override func tranformToNSManagedObject() -> NSManagedObject? { | |
return NSManagedObject() | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment