新手使用UICollectionController和UITableViewController使用容易造成的对象内存过早释放错误

来源:互联网 发布:知乎 牙膏 编辑:程序博客网 时间:2024/06/05 17:35
比如添加UITableViewController的属性tableView

错误原因,属性设为Controller而不是View,Controller保持,View可能被释放


方法1是错的:
方法1:
.h文件
#import "UITableViewController.h"
@property (retain,nonatomicUITableViewController * tableViewController;
.m文件
self.tableViewController = [[UITableViewController alloc]init];
[self.view addSubview:self.tableViewController.tableView];//
(注:这里出错,tableViewController为属性,不会被释放,反而需要保留的tableViewController.talbeView被释放。)


正确方法:
.h文件
@property (retain,nonatomicUITableView * tableView;
.m文件
self.tableViewController = [[UITableViewController alloc]init];
self.tableView = self.tableViewController.tableView;
[self.view addSubview:self.tableViewController.tableView];//
正确,保存了tableView。

0 0
原创粉丝点击