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 学习一的主要内容,如果未能解决你的问题,请参考以下文章