欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-04 10:51:32
...

可选类型(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()