访问视图时,使用标签比使用变量更快?

时间:2012-10-26 08:37:24

标签: iphone objective-c cocoa

哪个更快??

@interface ViewController : UIViewController
{

UIView *myView;

}

@end

@implementation ViewController

 - (void)myInit(){

UIView *view = [[UIView alloc]init];

myView = view;

view.tag = 1;

}

- (void)viewDidLoad(){
[self myInit];

[self.view addSubview:myView];//accessing by variable

//OR

[self.view addSubView:[self.view viewWithTag:1];//accessing by tag

}

@end

2 个答案:

答案 0 :(得分:3)

在一个中你有一个直接指针访问,在另一个你需要调用一个方法,然后找到索引对象并返回它以获得相同的对象。我想你有答案

答案 1 :(得分:0)

如果元素以编程方式挂钩到单元格(即未在NIB中定义并通过IBOutlets连接),则使用“viewWithTag”检索元素非常有用 - 这可以防止为多个标签等创建在NIBS中无限期地使用变量和/或IBOUtlet具有更高的优点,因为当我们想通过viewWithTag获取视图时,编译器在其子视图中运行for循环并使用给定的tag.Hence获取它找到的第一个视图。如果你有两个具有相同标记的视图,使用viewWithTag总是有一个主要的缺点。