【发布时间】:2021-07-22 05:37:45
【问题描述】:
我在视图控制器中使用以下语法(使用情节提要)来删除数据库中数组的第二个元素。
@IBAction func deleteItemOne(_ sender: UIButton) {
if userId == user?.uid {
let group_array = document["product"] as? [String] ?? [""]
if (group_array.count) > 1 {
document.reference.updateData([
"product": FieldValue.arrayRemove([group_array[1]])
])
self.viewDidLoad()
self.viewWillAppear(true)
}
}
}
删除数组元素后,我使用以下语法重新加载视图控制器
self.viewDidLoad()
self.viewWillAppear(true)
然而,在移除元素后,视图控制器并没有按预期重新加载,事实上它并没有做任何事情。
这引出了我的问题,是否有一个简单的 Swift 函数/方法可以在完成时调用以重新加载视图控制器?
【问题讨论】:
-
永远不要自己调用包含
will、did和should的委托方法。它们由框架专门调用。在arrayRemove行之后重新加载闭包内的(表)视图。
标签: ios swift viewcontroller