/*
//便利的构造函数
1.自己不负责构造对象
2.在便利的构造函数中 不能够调用super构造函数
3.在遍历的构造函数中调用本类的 '指定的构造函数' 来创建对象
4.便利的构造函数 在子类中不能够被重写 也不能super
5.遍历的构造函数能够 被继承
遍历的构造函数的使用场景:
1. 检查对象构造的条件 是否合理 如果不合理 就不创建对象
2. 通过遍历的构造函数 快速创建对象 --通过遍历构造函数 封装自定义控件的调用方法
*/
class Person: NSObject {
var name: String?
var age: Int = 0
//找对象
convenience init?(name: String, age: Int) {
//对年龄条件做检查 看是否合法
if age > 150 || age < 0 {
//返回 nil
return nil
}
//隐含形式的生成 super.init
//只能提示不好使 需要生写
self.init(dict: ["name": name, "age" : age])
}
//重载一个构造函数
init(dict: [String : AnyObject]) {
super.init()
setValuesForKeysWithDictionary(dict)
}
}