Swift属性的理解和代码

一、存储属性:

1、属性观察器    2、lazy

二、计算属性:

1、必须以var声明

2、newvalue

3、只读属性

三、全局与本地变量:

四、类属性

五、属性的含义:

1、每次属性设置了一个值后都会被调用,不管这个值是否与原来的值一样。

2、可以给继承过来的属性添加属性观察期,不管这个继承过来的属性是否是存储属性

3、willset参数默认是newvalue,didset参数默认是oldvalue

代码如下:

1、属性观察器

//类的声明

//类是一个引用类型,也就是说其实实例分配到堆中

class person{

//属性,方法,构造函数,析构函数,索引器(subscript)

var p1=20

//属性观察器 property  observer

var name="tt"

{

willSet{

//在赋值前会调用willSet里面的内容 

print("before")

print(newValue)//新值

print(name)

}

}

}

2、计算属性,get 、set

var p2=30

//不能只有set、只有get的时候,表示只读计算属性可以简写

//计算属性是没有属性观察者

var age:int

{

get{return 100}

set {}

}

3、存储属性

//修饰为静态,可以用class和static

//存储属性,只能用static,计算属性两个关键字都可以,方法也是两个关键字都可以

//区别:class修饰的表示子类是可以重写这些静态成员

class Image

{

static var name="my"

//class var name2="aaa"//存储属性不能用class修饰

static var Age:Int

{

get{return 100}

set{}

}

}

static func someMethod()

{

//静态方法中得self不是指的类的是咧,而是指类本身

self.Age=11

}

原文地址:https://www.cnblogs.com/tyty/p/4931170.html