swift 3.0 类的构造函数

swift 3.0 类的构造函数,第1张

概述/* //类的构造函数 使用KVC条件 1> 必须继承自NSObject 2> 必须在构造函数中,先调用super.init(0 3> 调用setValueForKeys 4> 如果字典中某一个key没有对应的属性,则需要重写setValueForKeys方法 */class LJPerson : NSObject{ var name : String = ""
/* //类的构造函数  使用KVC条件  1> 必须继承自NSObject  2> 必须在构造函数中,先调用super.init(0  3> 调用setValueForKeys  4> 如果字典中某一个key没有对应的属性,则需要重写setValueForKeys方法 */class LJPerson : NSObject{    var name : String = ""    var age : Int = 0    var height : Double = 0        init(name:String,age:Int) {        self.name = name        self.age = age    }        //重写init方法    init(dict : [String : Any]) {        /*         一般写法,假如此处有多个变量的话,要写好长好长的        if let name = dict["name"] as? String {            self.name = name        }                if let age = dict["age"] as? Int        {            self.age = age        }                if let height = dict["height"] as? Double        {            self.height = height        }*/                super.init()        setValuesForKeys(dict)    }        //倘若不重写init方法的话,就不会出来init()    overrIDe init() {    }        //重写这个方法,没有定义的key在里面也不会引起奔溃,如下面的key="phonum"    overrIDe func setValue(_ value: Any?,forUndefinedKey key: String) {    }}let pw = LJPerson()let pfg = LJPerson(name: "sww",age: 18)let ps = LJPerson(dict: ["name":"swgt","age":18,"height":1.09,"phonum":"139"])print(ps.name,ps.age)
总结

以上是内存溢出为你收集整理的swift 3.0 类的构造函数全部内容,希望文章能够帮你解决swift 3.0 类的构造函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1061046.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存