iOS UITable查看“之后的松散内容”;收到内存警告“;消息
(最初我在苹果开发者网络上发布了这篇文章,四天内没有收到任何回复,所以我在这里复制/粘贴) ARC已启用 在我的类中,我有一个iOS UITable查看“之后的松散内容”;收到内存警告“;消息,ios,uitableview,cocoa-touch,uikit,didreceivememorywarning,Ios,Uitableview,Cocoa Touch,Uikit,Didreceivememorywarning,(最初我在苹果开发者网络上发布了这篇文章,四天内没有收到任何回复,所以我在这里复制/粘贴) ARC已启用 在我的类中,我有一个UITableViewController属性 @property(非原子,强)UITableViewController*tableViewControllerSectionMenu 用于保存UIPopoverController的表视图 此代码创建UITableViewController并在viewDidLoad: self.tableViewControllerS
UITableViewController
属性
@property(非原子,强)UITableViewController*tableViewControllerSectionMenu代码>
用于保存UIPopoverController
的表视图
此代码创建UITableViewController
并在viewDidLoad:
self.tableViewControllerSectionMenu = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
self.tableViewControllerSectionMenu.tableView.dataSource = self.dataSource;
self.tableViewControllerSectionMenu.tableView.delegate = self;
在出现内存警告之前,此功能正常工作
之后,表格是空白的
我试着把reloadData
放在调用popover的地方,但这并没有改变什么
有人知道为什么会发生这种情况以及如何补救吗
通过谷歌搜索,我找到了几种解决方案,但没有一种在我的情况下有效。我认为当收到内存警告时,您的数据会被清除。您是否碰巧实施了direceivememorywarning
或viewDidUnload
?我想当收到内存警告时,您的数据会被清除。您是否碰巧执行了direceivememorywarning
或viewDidUnload
?当收到内存警告消息时,屏幕上当前不可见的所有视图都将被清除。它们应该在以后需要时重新创建
重新创建它们还意味着再次附加委托和数据源。由于在ViewController X中收到内存警告,并且它的视图在屏幕上,所以我的表视图被清除
但由于我没有从X移动,所以委托和数据源没有再次连接,就像在viewDidLoad
中所做的那样
为了避免从X返回一步,我为我的表视图创建了一个新类,在viewDidLoad
中我附加了委托和数据源。当收到内存警告消息时,屏幕上当前不可见的所有视图都被清除。它们应该在以后需要时重新创建
重新创建它们还意味着再次附加委托和数据源。由于在ViewController X中收到内存警告,并且它的视图在屏幕上,所以我的表视图被清除
但由于我没有从X移动,所以委托和数据源没有再次连接,就像在viewDidLoad
中所做的那样
为了避免从X返回一步,我为我的表视图创建了一个新类,在viewDidLoad
中我附加了委托和数据源。是的,我实现了didReceiveMemoryWarning
但是主视图的视图控制器,但它只有[super didReceiveMemoryWarning]代码>。只是为了澄清,我没有为tableViewControllerSectionMenu
定制类。我看不出这两件事在这里有什么用处,没有自定义视图控制器类,你能澄清一下吗?是的,数据从表视图控制器中被清除了,但我的数据源仍然在那里。然后我没有任何线索。。。对不起,是的,我已经实现了didReceiveMemoryWarning
但是主视图的视图控制器,但是它只有[super didReceiveMemoryWarning]代码>。只是为了澄清,我没有为tableViewControllerSectionMenu
定制类。我看不出这两件事在这里有什么用处,没有自定义视图控制器类,你能澄清一下吗?是的,数据从表视图控制器中被清除了,但我的数据源仍然在那里。然后我没有任何线索。。。很抱歉