gpt4 book ai didi

ios - Xcode 警告 - 变量从未改变

转载 作者:可可西里 更新时间:2023-11-01 00:41:34 24 4
gpt4 key购买 nike

我知道这是新手问题,但我无法在 stackoverflow 或谷歌上找到答案。

我开始使用 Swift 3 语言编写项目。这是我的模型类:

class VKUserProfile: NSObject {
var userId: NSNumber?
var userName: String?
var userEmail: String?
var userMobilePhone: String?
var userPictureUrl: URL?
}

然后我在另一个类中使用它:

private func convert(user: Dictionary<String, Any>) -> VKUserProfile {
var currentUser: VKUserProfile = VKUserProfile()
currentUser.userId = user["id"] as? NSNumber
return currentUser
}

Xcode 在行“var currentUser: VKUserProfile = VKUserProfile()”上警告我。好的,但是当我将其更改为“let currentUser: VKUserProfile = VKUserProfile()”时 - 我无法设置任何属性(对象为空)。那么有人可以向我描述这个过程,为什么 Xcode 会发出警告以及我如何解决这个问题。

更新:这是 currentUser 被 let 时 currentUser 变量的截图:

let

这是当 currentUser 为 var 时 currentUser 变量的截图:

enter image description here提前致谢!

最佳答案

似乎当你使用:

var currentUser = VKUserProfile()

您的其余代码正确填写 currentUser,您可以在打印 currentUser 时看到这些值。

但是使用 var 会给出警告,因为您从未真正重新分配 currentUser

因此,您正确地将 var 更改为 let 并且没有进行其他更改。但是现在,当您打印 currentUser 时,您看不到与使用 var 时相同的输出,如您在问题中发布的屏幕截图所示。

这似乎是 Xcode 调试器的问题。

打印 currentUser 的各个属性显示了预期的输出。

所以最后,这只不过是 Xcode 调试器中的一个错误。即使将 var 更改为 let,您的代码也没有问题。

关于ios - Xcode 警告 - 变量从未改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43003938/

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