【问题标题】:How to keep track of previous value of variable in swift? [closed]如何快速跟踪变量的先前值? [关闭]
【发布时间】:2020-06-11 08:25:46
【问题描述】:

我正在尝试跟踪之前在 sideMenu 中选择的 tableview 行索引。

【问题讨论】:

  • 使用一个变量来跟踪 tableView 的选定索引。这可以在 didselect 方法中完成

标签: ios objective-c iphone swift5


【解决方案1】:
var previousSelectedIndex = 0
var currentSelectedIndex = 0 {
didSet {
    print("===>current", currentSelectedIndex)
    print("===>previous", previousSelectedIndex)
}
willSet {
   previousSelectedIndex = self.currentSelectedIndex
}

解释:didSet 和 willSet 是 swift 中的属性 Observer didset 用于获取 variable 的当前值,而 will set 用于获取 variable 的先前值。 如果您想了解有关 propertyObserver 的更多详细信息,请参阅此链接 https://medium.com/the-andela-way/property-observers-didset-and-willset-in-swift-4-c3730f26b1e9

【讨论】:

  • 为你的答案提供一些解释。
【解决方案2】:

这是一个简单可靠的解决方案。使用willSet 属性观察器来跟踪变量的先前值。

var previousSelectedIndex: IndexPath?
var selectedIndex: IndexPath? {
    willSet {
        previousValue = selectedIndex
    }
}

使用selectedIndex 变量来跟踪您可以从didSelect 委托中获取的当前选定索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 2020-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多