关于重复标记:这个问题与标记的问题不同,因为我在询问如何将警告静音,因为我不知道Swift的概念。下面提供的答案有助于我理解Swift的基本特性。因此,这个问题不应该被标记为重复。
我有一个班级名称Person,其中包含以下变量。
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
}
}
这些私有var将使用setter进行更新。
因此,在为Person
类创建对象时,我正在编写此代码。
var p1 = Person()
p1.id = "1"
p1.name = "Hemang"
array.append(p1)
也许以后,我会用setter更新signedDate的值。
所以我不应该用let
创建这个对象。
但是,它向我显示了这个警告:
变量'p1'从未发生变异;考虑改为'让'不变。
如何将此警告静音?
如果您需要更多相关信息,请与我们联系。
答案 0 :(得分:0)
因为实际上您没有更改Person
对象,
使用let
,您可以更改对象的properties
。但你不能改变object
它自己。
因此,请将代码更改为警告引导您的内容。
当然,您可以在提出此问题之前尝试。