swift中一般不重写getter和setter?

无敌鲨鱼炮
  • 448

今天在一篇文章中看到的:Swift实际开发中一般不会重写setter和getter方法。
当然我也不清楚到底对不对,但他既然都写到文章了里了想必还是有一定道理的。

但是使用OC时我们经常重写setter和getter,如果swift中不推荐这样,我们采取哪种方式代替?

回复
阅读 4.8k
1 个回答
✓ 已被采纳

Swift不写get方法, 一般使用计算型属性. 而且重写了set方法, 必须实现get方法, 不然编译不通过, 所以Swift通常使用didSet代替OC的setter

var str:String {
    return "hello"
}
// str 与 str1效果一样
var str1: String {
    get {
        return "hello"
    }
}
var str3: String? {
    didSet {
    // dosomething
    }
}

clipboard.png

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏