viewcontroller.swift
import uikit
/*在swift中 所有的類和類的方法 都是共享的
在同乙個命名空間 所有的類都是共享的
命名空間 是專案名稱
*/class viewcontroller: uiviewcontroller
}
person.swift
/*
建構函式 : 分配記憶體空間 設定初始值
()在swift中 所有的構造方法 都是init
建構函式的責任就是 一定構造乙個物件出來
過載: 函式名相同 引數的型別 以及引數的個數不同 就形成過載 是物件導向最顯著的標誌
極大簡化 需要記住的函式名
一旦過載建構函式 預設的建構函式就不能訪問
this class is not key value coding-compliant for the key tiile.'
*/import uikit
class person: nsobject
//構造方法
init(name: string, age: int)
//kvc構造
init(dict: [string : anyobject])
override func setvalue(value: anyobject?, forkey key: string)
//過濾掉 不存的在屬性對應的key
override func setvalue(value: anyobject?, forundefinedkey key: string)
}
KVC建構函式
1.物件的創造過程 在swift中必選屬性,初始化是分段的,先初始化本類的必選屬性,然後再呼叫super.init初始化父類的必選屬性,super.init就是整個建構函式的結束 2.kvc給物件初始化 kvc原理 在程式執行時給物件傳送setvalue forkey的訊息 kvc機制 1.setv...
swift中KVC建構函式,和執行流程
kvc 執行流程 1.物件呼叫 setvaluesforkeyswithdictionary 遍歷鍵值 給物件傳送setvalue forkey 2.在 setvalue forkey 會根據鍵值 檢測 物件是否存在對應的屬性 3.如果屬性存在 就直接完成賦值的操作 4.如果屬性不存在 就 給 se...
Swift 4新知 KVC和KVO新姿勢
隨著 keypath 得到增強,kvc 和 kvo 的 api 都有了一些進化。乙個感人的進步就是 struct 也支援 kvc 了。但是並不是使用原有的setvalue forkeypath的api。而是利用了swfit 4增加的乙個語法特性 自定義索引可以有引數名。直接上 吧 struct va...