13-Swift中类的构造函数
发布时间:2020-12-14 06:48:15 所属栏目:百科 来源:网络整理
导读:一 构造函数的介绍 构造函数类似于OC中的初始化方法:init方法 默认情况下载创建一个类时,必然会调用一个构造函数 即便是没有编写任何构造函数,编译器也会提供一个默认的构造函数。 如果是继承自NSObject,可以对父类的构造函数进行重写 二 构造函数的基本使
一 构造函数的介绍
二 构造函数的基本使用
class Person: NSObject { var name : String var age : Int // 重写了NSObject(父类)的构造方法 override init() { name = "" age = 0 } } // 创建一个Person对象 let p = Person() 三 初始化时给属性赋值
class Person: NSObject { var name : String var age : Int // 自定义构造函数,会覆盖init()函数 init(name : String,age : Int) { self.name = name self.age = age } } // 创建一个Person对象 let p = Person(name: "why",age: 18) 四 字典转模型(初始化时传入字典)
class Person: NSObject { var name : String var age : Int // 自定义构造函数,会覆盖init()函数 init(dict : [String : NSObject]) { name = dict["name"] as! String age = dict["age"] as! Int } } // 创建一个Person对象 let dict = ["name" : "why","age" : 18] let p = Person(dict: dict) 五 字典转模型(利用KVC转化)
class Person: NSObject { // 结构体或者类的类型,必须是可选类型.因为不能保证一定会赋值 var name : String? // 基本数据类型不能是可选类型,否则KVC无法转化 var age : Int = 0 // 自定义构造函数,会覆盖init()函数 init(dict : [String : NSObject]) { // 必须先初始化对象 super.init() // 调用对象的KVC方法字典转模型 setValuesForKeysWithDictionary(dict) } } // 创建一个Person对象 let dict = ["name" : "why","age" : 18] let p = Person(dict: dict) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |