iOS 知识小集(1)

struct - class

在类中,当你对一个变量进行拷贝的时候,两个变量都指向内存中的同一个对象。两个中的任何一个变量中的改变都会影响另外一个变量(引用类型)。然而在结构体中,你是通过创建了一个新的对象(值类型)来实现简单的拷贝和复制的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
struct StructPerson {
var name: String
}
class ClassPerson: NSObject {
var name: String = ""
init(name: String) {
self.name = name
}
}
class MMStruct_ClassController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let class_p = ClassPerson(name: "yanming")
print(class_p.name)
let new_class_p = class_p
new_class_p.name = "mengqi"
print(class_p.name)

let struct_p = StructPerson(name: "father")
print(struct_p.name)
var new_struct_p = struct_p
new_struct_p.name = "mother"
print(struct_p.name)

/* 输出结果
yanming - mengqi - father - father
*/
}
}