如何在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
它。
因此请将您的代码更改为警告引导您的内容。
当然你可以在问这个问题之前试一下
关于重复标志:这个问题与被标记的问题不同,因为我问的是如何使警告静音,因为我不知道 [=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
它。
因此请将您的代码更改为警告引导您的内容。
当然你可以在问这个问题之前试一下