Iphone 内存管理,需要释放吗?
我想知道是否有人能很快帮我做以下事情,我是否需要添加一个[myTableView发行版];在我调用[view addSubview:[self myTableView]]?起初,我认为没有,并运行它通过叮当声产生的记忆警告 以下是我的想法:Iphone 内存管理,需要释放吗?,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,我想知道是否有人能很快帮我做以下事情,我是否需要添加一个[myTableView发行版];在我调用[view addSubview:[self myTableView]]?起初,我认为没有,并运行它通过叮当声产生的记忆警告 以下是我的想法: [自我设置MyTableView:诱惑视图];重新计数=(+1) [view addSubview:[self myTableView]];重新计数=(+2) //[myTableView发布] 你的方法不保留myTableView,所以它不应该发布它。你
- [自我设置MyTableView:诱惑视图];重新计数=(+1)
- [view addSubview:[self myTableView]];重新计数=(+2)
- //[myTableView发布] 你的方法不
myTableView,所以它不应该保留
它。你的方法不发布
myTableView,所以它不应该保留
它。你说得对发布
将保留您的表视图,但由于保留它的是[view addSubview:[self myTableView]]
,因此应该是视图
来释放它。当视图被解除锁定时,它将被解除锁定。您只需释放您自己保留的内容,即,您只需在解除锁定方法中释放表视图一次。您说得对视图
将保留您的表视图,但由于保留它的是[view addSubview:[self myTableView]]
,因此应该是视图
来释放它。而且,当视图被解除锁定时,您只需释放您自己保留的内容,即,您只需在解除锁定方法中释放表视图一次。我同意Carl的观点。view正在[self myTableView]上进行保留(“我的想法”上的第二个项目),但view将在发布时发布。谢谢Carl,非常感谢。我同意Carl的观点。view正在[self myTableView](我的想法)上保留,但view会在发布时发布。谢谢你,卡尔,非常感谢。谢谢你,菲利佩,你和卡尔是正确的,我将标记你的被接受,因为你解释了更多的事情,非常感谢……谢谢你,菲利佩,你和卡尔是正确的,我将把你的标记为接受,因为你解释了更多的事情,非常感谢。。。视图
@property (nonatomic, retain) UITableView *myTableView;
- (void)loadView { NSLog(@"%s", __PRETTY_FUNCTION__); [self setTitle:@"Location Data"]; CGRect viewFrame = CGRectMake(0, 20, 320, 460); UIView *view = [[UIView alloc] initWithFrame:viewFrame]; CGRect tableFrame = CGRectMake(0, 0, 320, 416); UITableView *tempTableView = [[UITableView alloc] initWithFrame:tableFrame]; [self setMyTableView:tempTableView]; [tempTableView release]; [view addSubview:[self myTableView]]; //[myTableView release]; << HERE [[self myTableView] setDelegate:self]; [[self myTableView] setDataSource:self]; [self setView:view]; [view release]; }
- (void)dealloc { [myTableView release]; [dataModel release]; [super dealloc]; }