便利构造函数

2017-05-10  本文已影响16人  Rookie丶

便利构造函数并不负责创建对象,在便利构造函数中可以对属性进行判断,判断是否符合创建条件,也可以为创建的对象赋值,但是由于便利构造函数不负责创建对象,所以在便利构造函数中必须要去手动调用构造函数self.init()去真正的创建对象,并且由于在便利构造函数中可以对构造的对象的属性进行判断,如果属性不能通过判断则不创建对象,所以便利构造函数可以返回一个nil所以构造函数名可以为 convenience init?是一个可以返回nil的构造函数。 并且在便利构造函数中可以对成功创建的对象进行属性的赋值,所以属性的赋值必须要在对象的创建之后,也就是self.init之后。 例

```

convenienceinit?( age : Int ,name :String){

if age >100{

return nil

}else{

self.init()

self.name = name

}

}

```

上一篇下一篇

猜你喜欢

热点阅读