Realm细粒度通知Swift 3语法

时间:2016-09-24 13:41:10

标签: swift realm

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

之前我对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)的论点是什么,我现在如何访问它们?

1 个答案:

答案 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)
}
相关问题