我在TableViewController
内有PageViewController
,被推入NavigationController
。当我点按“返回”以卸载PageViewController
时,我看到PageViewController
已取消分配,然后TableViewController
已取消分配,而不是TableView
单元格。
我已尽可能简化TableViewCell
......
#import "MyTableViewCell.h"
@implementation MyTableViewCell
- (void)awakeFromNib {
NSLog(@"Created");
}
- (void)dealloc
{
NSLog(@"DEALLOCed");
}
@end
...但仍然只能看到TableViewCell
的创建消息。
这就是我加载细胞的方式......
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"EmptyCell";
MyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (!cell) {
cell = [[MyTableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
return cell;
}
可能导致TableView
单元留在内存中的任何想法?如果TableViewController
方法正在调用PageViewController
方法,我是否正确认为dealloc
和{{1}}会出现问题?
答案 0 :(得分:0)
结果证明问题是我在TableView为空时显示消息的类保留了对TableView控制器的引用。使这个弱点和问题排序:)