Ios 如何在Swift中更改结构中存储的变量属性?
在苹果网站上, 它表明我们可以更改结构中的变量属性。我正试图改变那个人的姓。然而,我在那行代码中收到了一个错误。谢谢你帮助我Ios 如何在Swift中更改结构中存储的变量属性?,ios,swift,ios8,xcode6,Ios,Swift,Ios8,Xcode6,在苹果网站上, 它表明我们可以更改结构中的变量属性。我正试图改变那个人的姓。然而,我在那行代码中收到了一个错误。谢谢你帮助我 import UIKit struct people { let firstName : String var lastName : String } let person = people(firstName: "InitialFirstName", lastName: "InitialLastName") person.lastName = "C
import UIKit
struct people {
let firstName : String
var lastName : String
}
let person = people(firstName: "InitialFirstName", lastName: "InitialLastName")
person.lastName = "ChangedLastName" //<-- error
println(person.firstName)
println(person.lastName)
导入UIKit
结构人{
让firstName:String
var lastName:String
}
让person=people(firstName:“InitialFirstName”,lastName:“InitialLastName”)
person.lastName=“ChangedLastName”//如果结构声明为var
,而不是let
,则只能修改该结构的属性。即使您的属性是var
,因为结构是let
,所以它是不可变的
var person = people(firstName: "InitialFirstName", lastName: "InitialLastName")
person.lastName = "ChangedLastName" //No problem!
请注意,这与类的行为不同。即使类的实例是常量,也可以更改类的可变属性。不同于类
,它是引用类型结构
是值类型。
您必须将实例声明为可变的
var person = people(firstName: "InitialFirstName", lastName: "InitialLastName")
通过使用“let”语法,您已将“person”声明为常量,这意味着它的属性无法更改。只要将“let”更改为“var”,错误就会消失
这里有更多关于这个的信息。我忘了我的人是个“let”。谢谢