Swift3 0 KVC建構函式與基本資料型別

2021-07-25 15:33:57 字數 1217 閱讀 6913

//name屬性是可選的,在需要的時候建立

//在手機開發中,記憶體非常寶貴,實際執行中很多屬性不一定需要分配空間

var name: string?

init(dict: [string: anyobject])
let p = student(dict: ["name": "小明"

as anyobject])

print(p.name)

//列印輸出: optional("小明")

//給基本型別屬性初始化

//如果這樣寫:

//var age: int?

//會丟擲以下異常:

// - 意思是kvc會無法找到age的key,因為int是乙個基本資料型別的結構體

//所以要這麼寫,賦初始值

var age: int = 0

let p = student(dict: ["name": "小明"

as anyobject,"age": 18

as anyobject])

print("\(p.name) \(p.age)")

//列印輸出: optional("小明") 18

//private var title: string?

not key value coding-compliant for the key title.

// - 如果是private屬性,使用kvc設定的時候,程式會直接崩潰

// - swift中被private修飾的屬性或方法,徹底禁止外部訪問,oc中私有屬性或者方法可以通過runtime訪問到,所以此時無法使用private修飾

var title: string?

let p = student(dict: ["name": "小明"

as anyobject,"age": 18

as anyobject,"title": "北京"

as anyobject])

print("\(p.name) \(p.age) \(p.title)")

//列印輸出: optional("小明") 18 optional("北京")

- 在需要的時候建立

- 避免寫建構函式,可以簡化**

Swift 4 建構函式 KVC構造

viewcontroller.swift import uikit 在swift中 所有的類和類的方法 都是共享的 在同乙個命名空間 所有的類都是共享的 命名空間 是專案名稱 class viewcontroller uiviewcontroller person.swift 建構函式 分配記憶體空...

Swift3 0 建構函式

viewcontroller.swift import uikit 在swift中,同乙個專案中 同乙個命名空間 所有的類預設都是共享的,不需要引用,可以直接訪問,不需要import 所有物件的屬性 var,也可以直接訪問到 class viewcontroller uiviewcontroller...

KVC建構函式

1.物件的創造過程 在swift中必選屬性,初始化是分段的,先初始化本類的必選屬性,然後再呼叫super.init初始化父類的必選屬性,super.init就是整個建構函式的結束 2.kvc給物件初始化 kvc原理 在程式執行時給物件傳送setvalue forkey的訊息 kvc機制 1.setv...