大致思路:繼承要修改的類,獲取要修改的屬性或成員變量,改變其值,然後賦給該類。
下面的示例通過子類ZXSonViewController繼承父類ZXParentViewController,並在viewDidLoad方法中演示它。
父類定義私有屬性名。
子類繼承父類,並由KVC修改。
此時使用的Api從[setValue: forKey:]更改為[setValue:forKeyPath:]。
父類使用自定義類之壹作為屬性。
子類由[setValue:forKeyPath:]修改。
成員變量被修改時。
子類
因為struct本身不遵循KVC協議,所以我們可以把它轉換成NSValue。
父類使用枚舉作為成員變量。
子類通過五個步驟修改父類成員的變量。
截圖如下
看打印輸出。
通過KVC修改私有屬性或成員變量的方法基本都列出來了,但是需要註意的是,KVC本身屬於硬編碼的形式,容易操作和閃回,使用時要做好安全保護。