正确移除对象(附代码示例) iOS
Posted
技术标签:
【中文标题】正确移除对象(附代码示例) iOS【英文标题】:Correctly remove object (with code example) iOS 【发布时间】:2014-05-14 12:08:14 【问题描述】:以下代码 (removeViews
) 是否正确删除了对对象的引用,即删除它们,所以当调用方法 createViews
时,我不会继续制作更多 Views
。 createViews
创建视图,removeViews
将它们设置为 nil。 注意:这是一个非常简单的例子,可以增进理解,并没有实际用途。
-(void) createViews
UITableView * tableView = [[UITableView alloc] initWithFrame:CGRectMake(0,0,200,200)];
tableView.delegate=self;
tableView.datasource = self;
self.mainTableView = tableView;//self.mainTableView is a weak reference
[self.view.superView addSubview: self.mainTableView];
UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,400)];
view.backgroundColor = [UIColor redColor];
self.mainView = view;//self.mainView is a strong reference
[self.view.superView addSubviews:self.mainView];
-(void) removeViews
self.mainView = nil;
self.mainTableView=nil;
【问题讨论】:
【参考方案1】:首先将它们从它们的 superView 中删除,然后将它们设置为 nil
-(void) removeViews
[self.mainView removeFromSuperview];
[self.mainTableView removeFromSuperview];
self.mainView = nil;
self.mainTableView=nil;
【讨论】:
谢谢,如果视图只是添加到视图中,比如[self.view addSubview: self.mainView]
,或者这是同一件事吗?
以上代码会从superView中移除self.mainView以上是关于正确移除对象(附代码示例) iOS的主要内容,如果未能解决你的问题,请参考以下文章
R语言实战应用精讲50篇(二十八)-大量代码示例带你从基础到高级(附R语言代码)
Python3.9的69个内置函数(内建函数)介绍,并附简单明了的示例代码
详解Python的元组(tuple)的12种操作方法,并附示例代码