gpt4 book ai didi

ios - Swift - 将新值分配给对象

转载 作者:行者123 更新时间:2023-11-28 10:43:19 24 4
gpt4 key购买 nike

我知道这可能是一个非常简单的问题,但是我花了很多时间试图找出为什么不起作用,但对我来说仍然没有意义,所以我需要帮助。

我正在学习 iOS,我来自 Android,在那里我习惯于使用对象。我想做一些与我一直在使用 Android 所做的类似的事情(也许这就是问题所在)。

我已经使用 get 和 set 方法创建了一个对象。

private var _token: String!

var error: String {
get {
guard self._error != nil else { return "" }
return _error
}
set {
self._token = newValue
}
}

当我想操作这个对象时,就是我遇到问题的时候。

let objectCreated = ObjectCreated()
guard let errorReceived = (xml["Whatever"]["Whatever"].element?.text) else { return }

print(errorReceived)
objectCreated.error = errorReceived
print(objectCreated.error)

第一次打印是打印正确的字符串,但第二次是打印“”。所以 set 方法没有完成他的工作。

最佳答案

不是应该的吗

...
guard self._token != nil else { return "" }
return _token
...

这可以通过 nil-coalescing 操作符来简化

var error: String {
get {
return self._token ?? ""
}
set {
self._token = newValue
}
}

注意:带有前导下划线的变量名在 Swift 中是不常见的。

关于ios - Swift - 将新值分配给对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49490406/

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