正如苹果所说here“类是引用类型”,意味着类对象就像其他语言中的指针(C,C ++,Objective-C),我们可以改变常量对象的值(让swift)。
然后,这是创建类对象的首选方法(始终创建常量对象或创建变量对象)。当我创建和测试两者都以相同的方式工作时,那么“let和var”在类对象方面的区别是什么。
class Student {
var name: String
init(name: String) {
self.name = name
}
}
当我创建类Student的变量对象时。
var student = Student(name: "student name")
student.name = "Raj"
print("name = \(student.name)")
作为已过时的,但是当我创建一个常量对象时。
let student = Student(name: "studentName")
student.name = "Raj"
print("name = \(student.name)")
两者都能够更改值,因为它们引用的类型是可以的。但是想知道哪个是创建类对象的首选方法,以及它们之间在类对象方面的区别。
答案 0 :(得分:3)
如果使用let
创建了Student对象,则无法分配新对象let student2 = Student(name: "mohan")
let student = Student(name: "sohan")
student = student2 // gives you an error.
但如果您使用var创建,则可以将学生对象更改为另一个对象,并指向另一个对象。
let student2 = Student(name: "mohan")
var student = Student(name: "sohan")
student = student2 // have ref of student2
print(student.name) // gives you mohan
student.name = "rohan"
print(student.name) // rohan
print(student2.name) // rohan