Apple Doc说笔尖文件中最重要的对象之一是file的Owner对象,但它似乎是笔尖文件的file所有者,而不是LoadNibName
方法设置的所有者。我想知道它们之间有什么区别?
这里有一个例子:
我从xib定制了一个alertView,并提供了一个静态类方法,如下所示:
+(CustomAlert *)sharedAlert{
CustomAlert *alert = [[[NSBundle mainBundle] loadNibNamed:@"CustomAlert" owner:nil options:nil]lastObject];
return alert;
}
我有一种方法可以在查看时显示警报
- (void)showInView:(UIView *)view{
[view addSubview:self];
}
在我的视图中控制器:
- (IBAction)buttonPressed:(id)sender{
CustomAlert *alert = [CustomAlert sharedAlert];
[alert showInView:self.view];
}
在我的情况下效果很好,所以有必要在[[[NSBundle mainBundle] loadNibNamed: owner: options:
中设置所有者吗?
假设您有一个带有一个表视图的nib文件,表视图委托和数据源连接到接口生成器中的"文件所有者"。如果将文件所有者设置为任何对象,那么该对象将是表视图的数据源和委托。这对连接到文件所有者的任何内容都有效。