phuc-n
10/3/2017 - 2:41 AM

Note Swift

TODO

  • DispatchQue
  • URLSession.shared datatask
  • Userdefault
  • Show | Preset
  • Guard let
  • if let
  • didset
  • Autolayout: Multiplier

Note

UIViewController

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 vs Weak

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.

Lưu trữ dữ liệu

Các cách lưu trữ dữ liệu:

  • As text file
  • As XML file
  • As property list
  • Use SQLite directly
  • CoreData
  • iCloud
  • NSUserDefaults

Enum

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