この下級クラス
class User: NSManagedObject {
@NSManaged var id: Int
@NSManaged var name: String
}
変換する必要がある
{
"id" : 98,
"name" : "Jon Doe"
}
変数を辞書に設定し、辞書を返す関数にオブジェクトを手動で渡そうとしました。しかし、これを実現するにはもっと良い方法が必要です。
ベストアンサー1
Swift 4 では、型から継承できますCodable
。
struct Dog: Codable {
var name: String
var owner: String
}
// Encode
let dog = Dog(name: "Rex", owner: "Etgar")
let jsonEncoder = JSONEncoder()
let jsonData = try jsonEncoder.encode(dog)
let json = String(data: jsonData, encoding: String.Encoding.utf8)
// Decode
let jsonDecoder = JSONDecoder()
let secondDog = try jsonDecoder.decode(Dog.self, from: jsonData)