swift kvc赋值

Posted we-smile

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift kvc赋值相关的知识,希望对你有一定的参考价值。

1定义模型属性的时候,如果是对象,通常都是可选的(在需要的时候创建,避免写构造函数,简化代码)

2如果是基本数据类型,不能设置成可选的,而且要设置初始值,否则KVC会崩溃

3使用KVC方法前,需要先调用super.init(),保证对象实例化完成

4必须在类的前面添加@objcMembers(或者在每一个属性前面添加@objc),否则KVC会crash

 

import UIKit

 

@objcMembers class Person: NSObject {

    var name: String?

    //基本数据类型必须是必选的,而且需要设置默认值

    var age: Int = 0

    

 

    init(dict: [String : AnyObject]) {

        super.init()

        setValuesForKeys(dict)

    }

 

}

以上是关于swift kvc赋值的主要内容,如果未能解决你的问题,请参考以下文章

浅谈ios之kvc底层执行原理

Swift - 反射(Reflection)的介绍与使用样例(附KVC介绍)

kvc原理

Objective-C KVC使用,包你看懂会用

ios开发runtime学习五:KVC以及KVO,利用runtime实现字典转模型

ios26--kvc