我有一个包含自定义单元格的表视图。我的表视图单元格通过插入SQLite数据库中的值填充。
数据库值显示在我的表格视图单元格中,但问题是,当我从表格视图导航到上一个视图,然后通过导航栏返回到tableview时,表格视图变为空白。可能是什么问题?
答案 0 :(得分:1)
编辑根据对此答案的评论提出更可行的解决方案
假设您要将登录视图添加为模态viewController,则需要在每次额外登录后刷新表。在viewWillAppear
方法中重新加载tableView:
[tableView reloadData];
或者,如果您的表需要一段时间才能重新加载,您可以向viewController发送通知,以便在您解除它之前从登录视图重新加载tableView。
如果内存变紧,操作系统可以随意卸载当前不可见的视图。一个常见的iOS开发错误是假设viewController的 viewDidLoad
和viewDidUnload
方法中的代码仅在首次加载视图并稍后卸载时才会被调用。检查以确保您的viewDidLoad
方法没有对数据的可用性做出任何假设,并确保您的viewDidUnload
方法不会意外删除新重新调用的viewDidLoad
将会生成的数据需要。
同样,请确保viewWillAppear
方法中的某些内容不会妨碍您的viewDidUnload
方法。
最后,并且同样地理解,如果您的视图因内存原因而被操作系统转储,它有时会调用您的 viewDidUnload
方法,因为它会清除它,但是有时似乎没有调用它,可能是因为视图使用的内存非常大,以至于未能在其didReceiveMemoryWarning
方法中清除内容使得它决定立即完全转储视图,而不是真正允许它清理自己。