如何在Swift中关闭"never mutated"的警告?

How to mute the warning of "never mutated" in Swift?

关于重复标志:这个问题与被标记的问题不同,因为我问的是如何使警告静音,因为我不知道 [=42= 的概念].下面提供的答案帮助我理解 Swift 的基本性质。因此,不应将此问题标记为重复。


我有一个 class 名字的人有以下变量。

private var _id:String = ""
var id:String {
    get {
        return _id
    }
    set (newId) {
        _id = newId
    }
}

private var _name:String = ""
var name:String {
    get {
        return _name
    }
    set (newName) {
        _name = newName
    }
}

private var _signedDate:Date? = nil
var signedDate:Date {
    get {
        return _signedDate!
    }
    set(newDate) {
        _signedDate = newDate
    }
}

这些私有变量将更新为 setter。

因此,在为 Person class 创建对象时,我正在编写此代码。

var p1 = Person()
p1.id = "1"
p1.name = "Hemang"

array.append(p1)

也许稍后,我会用 setter.

更新 signedDate 的值

所以我不应该用 let 创建这个对象。

但是,它向我显示此警告:

Variable 'p1' was never mutated; consider changing to 'let' constant.

如何关闭此警告?

如果您需要这方面的更多信息,请告诉我。

因为实际上你并没有改变 Person 对象, 使用 let 您可以更改对象的 properties。但是你不能自己改变object它。

因此请将您的代码更改为警告引导您的内容。

当然你可以在问这个问题之前试一下