gpt4 book ai didi

子对象的 Swift JSONEncoder().encode

转载 作者:行者123 更新时间:2023-11-28 14:25:14 26 4
gpt4 key购买 nike

我有一个包含多个方法和属性的父类:

class Animal {
var var1: ...
var var2: ...

func func1() {}
func func2() {}
}

和子类:

class Dog: Animal, Codable {
var name = ""
}

我需要向父类添加一个方法,该方法将为子类返回 JSONEncoder().encode 的结果。像这样的东西:

let dog = Dog()
dog.name = "Bob"
let jsonString = dog.jsonString() // {"name":"Bob"}

我可以这样做吗?

最佳答案

encode的结果创建一个String...

extension Encodable {
func jsonString() -> String {
let data = try! JSONEncoder().encode(self)
return String(data: data, encoding: .utf8)!
}
}

let dog = Dog()
dog.name = "Bob"
dog.jsonString()

// {"name":"Bob"}

关于子对象的 Swift JSONEncoder().encode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51649502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com