Swift 如果没有数据更改,如何避免调用重载数据?

Swift 如果没有数据更改,如何避免调用重载数据?,swift,database,uitableview,Swift,Database,Uitableview,我有一个应用程序,它用数组中存储的信息填充UITableView。每当用户打开该特定页面时,我在viewDidLoad()中都有一个函数,通常执行以下操作: override func viewDidLoad(){ tableArray.removeAll() //query information from a database //populate tableArray with this information self.table.reloadData()

我有一个应用程序,它用数组中存储的信息填充
UITableView
。每当用户打开该特定页面时,我在
viewDidLoad()
中都有一个函数,通常执行以下操作:

override func viewDidLoad(){
    tableArray.removeAll()
    //query information from a database
    //populate tableArray with this information
    self.table.reloadData()
}
这允许我在加载页面时查询数据库中与表相关的所有信息。它在功能上是有效的,但我怀疑它没有发挥应有的效率。

当前设置在每次加载时调用此函数,无论数据库中表中显示的信息是否已更改。这意味着通常会使用完全相同的数据重新加载表。这是浪费时间,因为它涉及查询数据库、附加数组,然后重新加载数据以基本上显示与不执行任何操作时显示的信息完全相同的信息。在某种程度上,如果信息发生了变化,这种方法是有好处的,因为重新加载时会考虑到这一点。然而,我相信即使是这种方法也可以改进。如果有办法确定哪些特定信息已更改,我只想重新加载该特定单元格的数据。这可能吗?此外,是否有方法检查任何信息是否已更改,然后根据该结果继续

从数据库查询信息和填充tableArray将是您要做的最昂贵的部分。与其他两件事相比,reloadData()调用实际上是免费的

如果不加载数据并重新加载表视图,您将如何在新显示的视图控制器中填充表视图?