swift的副本.png
声明变量一
var arr1:[Int] = {
return [1,2,3];
}()
声明变量二
var arr2:[Int] {
return [1,2,3];
}
声明变量三
var arr3:[Int] {
get {
return [1,2,3];
}
}
声明变量四
var arr4:[Int] {
get {
return [1];
}
set {
print(newValue);
}
}
以上为声明属性的几个方式,其中:1和2 两种方式在一些第三方库代码中经常性出现。
1、声明一个存储属性,通过闭包运算赋值。 2、3 作用相同,2是3 的简化形式。声明一个计算属性。只读。 4、声明一个计算属性,可读可写。
由此看出,存储属性可以直接读写赋值。计算属性不能直接对其操作,其本身只起计算作用
,没有具体的值。
由此可见Swift的属性和Object-c的属性区别还是挺大的,Object-c属性会有对应的setter 、 getter 方法、对应的实例变量而Swift的属性确没了这些功能。
一步一个脚印,Swift新手新司机开始上路了