[day1] 2018最新的swift面试题

    1.
class Person {
    var name: String
    var age: Int
    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
}

let person1 = Person(name: "John", age: 26)
var person2 = person1
person2.name = "Mike"

person1.name 和 person2.name 分别是什么

答案
都是mike
解析:
在swift中,class是引用类型(reference type), 只是指针复制而不是值复制, var person2 = person1创建一个一个person1并复制给了person2, 从这一行开始,任何person1的改变都会在person2中变化

你可能感兴趣的:(日常记录)