swift便利构造函数

class Person: NSObject {

var name: String?

var age: Int = 0

//1便利构造函数,允许返回nil

//2本身不负责对象的创建 

//3需要在调用self.init()创建对象后,才能访问对象的属性

convenience init?(name: String, age: Int) {

if age > 100 {

return nil

}

self.init()

self.name = name

self.age = age

}

}

原文地址:https://www.cnblogs.com/we-smile/p/9375100.html

时间: 2024-10-23 17:27:54

swift便利构造函数的相关文章

Swift构造函数和便利构造函数

构造函数基础 构造函数是一种特殊的函数,主要用来在创建对象时初始化对象,为对象成员变量设置初始值,在 OC 中的构造函数是 initWithXXX,在 Swift 中由于支持函数重载,所有的构造函数都是 init 构造函数的作用 分配空间 alloc 设置初始值 init 必选属性 自定义 Person 对象 class Person: NSObject { /// 姓名 var name: String /// 年龄 var age: Int } 提示错误 Class 'Person' has

Swift—默认构造函数-备

结构体和类的实例在构造过程中会调用一种特殊的init方法,称为构造函数.构造函数没有返回值,可以重载.在多个构造函数重载的情况下,运行环境可以根据它的外部参数名或参数列表调用合适的构造函数.默认构造函数结构体和类在构造过程中会调用一个构造函数,即便是没有编写任何构造函数,编译器也会提供一个默认的构造函数.下面看示例代码:   class Rectangle { var width: Double  = 0.0 var height: Double = 0.0 } var rect = Recta

《从零开始学Swift》学习笔记(Day 39)——构造函数重载

原创文章,欢迎转载.转载请注明:关东升的博客   构造函数作为一种特殊方法,也可以重载. Swift中构造函数可以多个,他们参数列表和返回值可以不同,这些构造函数构成重载. 示例代码如下: class Rectangle {          var width: Double     var height: Double          init(width: Double, height: Double) {         self.width   = width         sel

Swift 构造函数

Swift 2.0 构造函数基础 构造函数是一种特殊的函数,主要用来在创建对象时初始化对象,为对象成员变量设置初始值,在 OC 中的构造函数是 initWithXXX,在 Swift 中由于支持函数重载,所有的构造函数都是 init 构造函数的作用 分配空间 alloc 设置初始值 init 必选属性 自定义 Person 对象 class Person: NSObject { // 姓名 var name: String // 年龄 var age: Int } 提示错误 Class 'Per

Swift 2.0学习笔记(Day 39)——构造函数重载

原创文章,欢迎转载.转载请注明:关东升的博客  构造函数作为一种特殊方法,也可以重载. Swift中构造函数可以多个,他们参数列表和返回值可以不同,这些构造函数构成重载. 示例代码如下: class Rectangle { var width: Double var height: Double init(width: Double, height: Double) { self.width = width self.height = height } init(W width: Double,

关于swift中的构造函数

son' has no initializers -> 'Person' 类没有实例化器s 原因:如果一个类中定义了必选属性,必须通过构造函数为这些必选属性分配空间并且设置初始值 重写 父类的构造函数 /// `重写`父类的构造函数 override init() { } 提示错误 Property 'self.name' not initialized at implicitly generated super.init call -> 属性 'self.name' 没有在隐式生成的 sup

《从零开始学Swift》学习笔记(Day43)——构造函数继承

原创文章,欢迎转载.转载请注明:关东升的博客 Swift中的子类构造函数的来源有两种:自己编写和从父类继承.并不是父类的所有的构造函数都能继承下来,能够从父类继承下来的构造函数是有条件的,如下所示. 条件1:如果子类没有定义任何指定构造函数,它将自动继承所有父类的指定构造函数. 条件2:如果子类提供了所有父类指定构造函数的实现,无论是通过条件1继承过来的,还是通过自己编写实现的,它都将自动继承所有父类的便利构造函数. 下面看示例代码: class Person {                

Swift 2.0学习笔记(Day43)——构造函数继承

原创文章,欢迎转载.转载请注明:关东升的博客 Swift中的子类构造函数的来源有两种:自己编写和从父类继承.并不是父类的所有的构造函数都能继承下来,能够从父类继承下来的构造函数是有条件的,如下所示. l 条件1:如果子类没有定义任何指定构造函数,它将自动继承所有父类的指定构造函数. l 条件2:如果子类提供了所有父类指定构造函数的实现,无论是通过条件1继承过来的,还是通过自己编写实现的,它都将自动继承所有父类的便利构造函数. 下面看示例代码: class Person { var name: S

Swift —构造函数与存储属性初始化-备

构造函数的主要作用是初始化实例,其中包括:初始化存储属性和其它的初始化.在Rectangle类或结构体中,如果在构造函数中初始化存储属性width和height后,那么在定义他们时就不需要初始化了. Rectangle类代码如下: [html] view plain copy print? class Rectangle { var width: Double var height: Double init() { width   = 0.0 height  = 0.0 } } 如果存储属性在构