gpt4 book ai didi

ios - 在 Swift 中获取和设置不同的数据类型

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

我正在使用 ObjectMapper。而且我知道我们可以像 map["name.label"] 那样指定键路径,但我暂时不想使用 keyPath。检查下面的代码。我可以访问像 Author.name?.label 这样的名字。

class Author: Mappable {
var name: LabelDict?

required init?(map: Map) {
}

func mapping(map: Map) {
name <- map["name"]
}
}

class LabelDict: Mappable {
var label: String?

required init?(map: Map) {
}

func mapping(map: Map) {
label <- map["label"]
}
}

我如何设置 Author 类的 name 属性的 getter 和 setter 方法以将值设置为 LabelDict 类标签,当我得到值时,我得到 String 直接作为 Author.name。我可以通过使用一个不同的变量来做到这一点,但是否可以使用相同的变量来做到这一点?

最佳答案

您可以让您的 LabelDict 采用 CustomStringConvertible 协议(protocol)。

class LabelDict: Mappable, CustomStringConvertible {
var label: String?
var description: String {
get {
return self.label ?? ""
}
}

required init?(map: Map) {
}

func mapping(map: Map) {
label <- map["label"]
}
}

然后您可以像这样使用它 String(describing: myLabelDictInstance)

-- 澄清
要简单地将 label 打印到控制台,您现在可以使用 print(Author?.name)。例如,如果你想将它分配给标签,你可以使用 someLabel.text = String(describing: Author?.name)

关于ios - 在 Swift 中获取和设置不同的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40904209/

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