gpt4 book ai didi

swift - Realm 细粒度通知 Swift 3 语法

转载 作者:行者123 更新时间:2023-11-28 16:10:11 25 4
gpt4 key购买 nike

我认为这应该很简单,但我无法弄明白,因为我对泛型或带参数的枚举没有扎实的掌握。

以前我有一个 UITableView 的扩展,用于处理看起来像这样的细粒度通知

func updateTableWithChanges<AnyType>(changes:RealmCollectionChange<Results<AnyType>>) {
switch changes {
case .Initial:
self.reloadData()
case .Update(let results, let deletions, let insertions, let modifications):
beginUpdates()
// DO STUFF
endUpdates()
case .Error(let error):
print(error)
}
}

自从迁移到 Swift 3 以来,语法发生了变化,我无法弄清楚 case 的括号中应该包含什么。新语法是

switch changes {
case .initial(T):
break
case .update(T, deletions: [Int], insertions: [Int], modifications: [Int]):
break
case .error(Error):
break
}

枚举案例(尤其是 T)的参数是什么,我现在如何访问它们?

最佳答案

这显然是现在必须要做的。我仔细研究了 Swift 3 文档并整理了出来。

switch changes {
case .initial(_):
reloadData()
case let .update(_, deletions, insertions, modifications):
beginUpdates()
// DO STUFF
endUpdates()
case let .error(error):
print(error)
}

关于swift - Realm 细粒度通知 Swift 3 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39676997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com