为什么在IOS教程中不需要重新加载数据?
在学习ios教程()时,我发现这一步为什么在IOS教程中不需要重新加载数据?,ios,objective-c,uitableview,Ios,Objective C,Uitableview,在学习ios教程()时,我发现这一步 重新加载表中的数据 因为表视图不保持 跟踪其数据,这是本文件中数据源的责任 在这种情况下,您的表视图控制器将在出现错误时通知表视图 要显示的新数据 [self.tableView重载数据] 不需要:即使没有此代码片段,也会将新项添加到tableview。知道为什么吗?在您的例子中,它是超类,UITableViewController,为您提供安静的帮助,并在被告知其视图(表视图)已显示时调用reloadData(我认为这是它唯一一次这样做,如果在创建视图时您
[self.tableView重载数据]代码>
不需要:即使没有此代码片段,也会将新项添加到tableview。知道为什么吗?在您的例子中,它是超类,UITableViewController
,为您提供安静的帮助,并在被告知其视图(表视图)已显示时调用reloadData
(我认为这是它唯一一次这样做,如果在创建视图时您已经执行了,我不能说我已经检查了它是否调用了reloadData
)
如果您使用UIViewController
作为超类,并将自己的属性添加到表视图中,并实现表委托和数据源方法,则不会发生这种情况,您需要显式调用reloadData
,以获得视图中显示的任何内容。您的控制器是UI的子类TableViewController
?是的,它是UITableViewController的一个子类。假设您的用户单击表视图控制器上的一个单元格,最终会出现一个屏幕,导致创建另一个表视图项。当他们返回到原始表视图控制器时,它将无法知道其缓存的数据是否不正确在ViewDidLoad中重新加载数据您正在告诉VC它的缓存数据现在已过期。事实上,在测试后,in不会重新加载所有数据,只需将新行添加到tableview中,而不必触摸另一行。看起来,屏幕上的UITableViewControlr检查行数,然后仅为新行调用单元格构造函数。这是比重新加载所有数据更有效。