我认为这应该是非常简单的,但我无法弄明白,因为我没有扎实地掌握带有参数的泛型或枚举。
之前我对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后,语法发生了变化,我无法弄清楚案例的括号应该是什么。新语法是
switch changes {
case .initial(T):
break
case .update(T, deletions: [Int], insertions: [Int], modifications: [Int]):
break
case .error(Error):
break
}
枚举案例(尤其是T)的论点是什么,我现在如何访问它们?
答案 0 :(得分:1)
这显然是现在必须要做的。我挖掘了Swift 3文档并能够对其进行排序。
switch changes {
case .initial(_):
reloadData()
case let .update(_, deletions, insertions, modifications):
beginUpdates()
// DO STUFF
endUpdates()
case let .error(error):
print(error)
}