可失败构造器
1.1概念
如果一个类、结构体或枚举类型的对象,在构造过程中有可能失败,则为其定义一个可失败构造器。这里所指的“失败”是指,如给构造器传入无效的参数值,或缺少某种所需的外部资源,又或是不满足某种必要的条件等。
如果构造失败,则返回nil,系统不会卡死报错。
1.2 可失败构造函数用法
使用init?可以构建可失败构造函数,在一定条件下(通过if语句实现),满足构造失败的情况时,可以返回nil(通过return语句),表示构造不成功。
结构体书写可失败构造函数时,先判断后赋值;类是先赋值,后判断。
可失败构造函数可以传递,在继承和调用过程中,只要一个环节失败,整体就是失败的。
转载于:https://my.oschina.net/u/2508918/blog/652591