Swift 学习一

Posted 怡情_老二

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift 学习一相关的知识,希望对你有一定的参考价值。

1、类的定义

  class 类名 {

    //属性和方法

  }

2、属性: 类似于成员变量,分为三种:

  (1) 存储属性:存储在对象中的一个变量或常量

  class Person {               // 这种定义属性必须写初始值,因为系统不会自动初始化初始值

    var age:Int = 1        // var 关键字修饰变量

    let life = 1               // let 修饰常量,不能修改

  }

  var person = Person()

  person.age = 20           // 直接通过点运算符读写

  println("person的生命是\(person.life), person的年龄是\(person.age)")

 

  (2) 延迟属性:第一次使用时才进行初始化的属性 (相当于懒加载),使用关键字 @lazy 来标识一个延时属性。

  好处:让某些资源用到时再去加载,避免不必要的资源浪费。

  注意:延迟存储属性必须是变量,不能是常量。

  class Dog {

    var name: String = "timo"

    init() {

      println("你是一条狗")

    }

  }

  class Person {

    var dog: Dog = Dog()

  }

  class LazyPerson {

    var dog: Dog = Dog()

  }

  var person = Person()       // 会直接打印  你是一条狗

  

  var lazyPerson = LazyPerson()     // 不会直接打印

  lazyPerson.dog            // 调用才会打印

 

  (3)计算属性:不是直接存储值,而是提供set和get方法

  

  class Square {

    var width: Double = 0    // 边长

    var girth: Double {      // 周长

      get {

        return width * 4

      }

      set { // 默认有一个newValue 的值

        width = newValue / 4

      }        

  }

  var square = Square()

  square.width = 10

  println(square.girth)       // 调用 girth 属性的 get,输出结果是40

  square.girth = 200

  println(square.width)     // 调用 girth 属性的 set,并且把200传递给 newValue,输出结果是 50

以上是关于Swift 学习一的主要内容,如果未能解决你的问题,请参考以下文章

Swift学习笔记-教程学习一基础篇

Swift学习初探

Swift学习笔记一:与OC的区别

swift学习网址

swift 学习笔记一

Swift 学习一