您的位置:首页 > 移动开发 > Swift

Swift入门 10getter & setter

2016-01-12 14:48 477 查看

getter & setter

自定义 Person 类

class Person: NSObject {

var name: String?
var age: Int?
}


getter & setter

var _name: String?

var name: String? {
get {
return _name
}
set {
_name = newValue
}
}


Swift
中以上形式的 getter & setter 很少用

didSet

在 OC 中,我们通常希望在给某一个变量赋值之后,去做一些额外的操作

最经典的应用就是在自定义 Cell 的时候,通过模型的设置方法完成 Cell 的填充

var length: Int? {
didSet {
timeStr = String(format: "%02d:%02d:%02d", arguments: [length! / 3600, (length! % 3600) / 60, length! % 60])
}
}
var timeStr: String?


计算型属性

var title: String {
get {
return "Mr " + (name ?? "")
}
}


只实现
getter
方法的属性被称为计算型属性,等同于 OC 中的
ReadOnly
属性

计算型属性本身不占用内存空间

不可以给计算型属性设置数值

计算型属性可以使用以下代码简写

var title: String {
return "Mr " + (name ?? "")
}


构造函数

init(dict: [NSObject: AnyObject]) {
name = dict["name"] as? String
age = dict["age"] as? Int
}


析构函数

deinit {
print("88")
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift