函数类方法的使用(optional语法)

可选类型(Optional)语法:

  1. 如果j为空,将c赋值为123,否则将j的值赋c:
    var c = j ?? 123
  2. 用!和?定义的区别:
    Int? :必须使用!拆包(取值)
    Int!:自动拆包取值

当一个类没有创建构造函数时,编译器自动生成一个无参构造函数;一旦创建自定义构造函数,编译器将不会再自动生成无参构造函数。

class与结构体的区别:

  1. 用let定义的结构体变量,成员不能修改
  2. 结构体是值类型的,在赋值的时候会发生复制
  3. 类是引用类型
  4. 结构体的成员方法需要加mutating才能修改成员变量,类科研直接修改

strong/weak:

  1. strong是强引用,当一个的强引用个数大于0时,对象不会被销毁
  2. 变量默认都是strong类型
  3. weak定义的变量一定是optional类型(隐藏)

类变量使用static定义,通过类名调用:

class Animal { 
//成员变量
var name: Stringvar age: UInt 
//定义类变量static var count = 0
} 
..........
//调用类变量
Animal.count = 123

类方法使用class定义,通过类名调用:

//定义类方法

class func createAnimal() -> Animal {
        return Animal() 
} 
//调用类方法
Animal.createAnimal()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容