Swift 类的构造函数
2020-04-22 01:18
691 查看
Swift 类的构造函数
构造函数的介绍
- 构造函数类似于OC中的初始化方法:init方法
- 默认情况下载创建一个类时,必然会调用一个构造函数
- 即便是没有编写任何构造函数,编译器也会提供一个默认的构造函数。
- 如果是继承自NSObject,可以对父类的构造函数进行重写
构造函数的基本使用
- 类的属性必须有值
- 如果不是在定义时初始化值,可以在构造函数中赋值
class Person: NSObject { var name : String var age : Int // 重写了NSObject(父类)的构造方法 override init() { name = "" age = 0 } } // 创建一个Person对象 let p = Person()
初始化时给属性赋值
- 很多时候,我们在创建一个对象时就会给属性赋值
- 可以自定义构造函数
- 注意:如果自定义了构造函数,会覆盖init()方法.即不在有默认的构造函数
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)
字典转模型(初始化时传入字典)
- 真实创建对象时,更多的是将字典转成模型
- 注意:
- 去字典中取出的是NSObject,任意类型.
- 可以通过as!转成需要的类型,再赋值(不可以直接赋值)
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)
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Swift中的便利构造函数
- swift(14)构造函数
- Swift 1.构造函数-必选属性
- Swift基础3.3——便利构造函数
- 《从零开始学Swift》Swift 2.0学习笔记(Day 38)——构造函数与存储属性初始化
- Swift:可选类型(optional)与构造函数
- Swift 2.构造函数-子类构造
- Swift——convenience(便利构造函数)和类方法
- swift 构造函数
- 关于swift中的构造函数
- Swift学习记录 -- 18. 便利构造函数
- Swift 3.构造函数-重载构造函数
- Swift语法基础入门四(构造函数, 懒加载)
- Swift-13.类的构造函数
- Swift语法13:类的构造函数
- swift学习第十三天:类的构造函数
- Swift 4.构造函数-KVC构造
- swift 创建类方法(扩展)和便利构造函数
- Swift 基本知识之十三 构造函数
- Swift中可选项、闭包、便利构造函数的相关问题