使用didSet属性观察者而不说明'oldValue'

时间:2017-10-01 03:54:32

标签: ios swift

我是iOS开发的初学者,我尝试了解一些人学习的代码。

我正在尝试使用API​​中的JSON数据填充表视图。在制作Table View Controller时,我需要重新加载数据,因为从API下载数据是多任务的

重新加载数据并将其显示给UI,他编写了这样的代码

class VenuesTableViewController : UITableViewController {

var venues : [Venue] = [] {

    didSet {
        self.tableView.reloadData()
    }
}

他使用属性观察者'didSet'来重新加载表视图。

但是从我从其他教程中学到的东西,didSet通常使用'oldValue',我们必须在它工作之前为该类属性重新赋值。 (即我案例中的var场所)

那么为什么我们可以在没有'oldValue'的情况下编写didSet属性obserserver并且不为该属性重新赋值?

提前致谢:)

1 个答案:

答案 0 :(得分:0)

每次将新值分配给变量场地后,

didSet都会调用。在didSet中使用oldValue不是强制性的。简而言之,oldValue为您提供与新值分配的比较范围,或者如果您想将其与任何其他任务一起使用。