viewDidLoad được gọi đầu tiên khi view được khởi tạo.
viewWillAppear được gọi khi view bắt đầu được hiển thị.
viewDidAppear được gọi khi view đã hiển thị xong.
viewWillDisappear được gọi khi bắt đầu chuyển sang view khác.
viewDidDisappear được gọi sau khi đã chuyển sang view khác.
Strong pointer trỏ đến một đối tượng và sở hữu đối tượng đó (quyết định đến sự tồn tại của đối tượng), còn weak pointer trỏ đến một đối tượng nhưng chỉ tham chiếu giá trị của đối tượng đó (không quyết định đến sự tồn tại của đối tượng). Với mỗi biến strong trỏ đến 1 đối tượng thì retainCount của đối tượng sẽ tăng thêm 1, còn biến weak thì không tăng retainCount. Khi retainCount của đối tượng về 0 thì đối tượng đó sẽ bị hủy, và con trỏ weak lập tức được set bằng giá trị null.
Các cách lưu trữ dữ liệu:
enum TestEnum: String {
case Name = "Name"
case Gender = "Gender"
case Birth = "Birth Day"
}
let name = TestEnum(rawValue: "Name")! //Name
let gender = TestEnum(rawValue: "Gender")! //Gender
let birth = TestEnum(rawValue: "Birth Day")! //Birth