Apple Doc说 nib文件中最重要的对象之一是文件所有者对象,但它似乎是nib文件中的文件所有者,而不是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];
}
并在我的viewController中:
- (IBAction)buttonPressed:(id)sender{
CustomAlert *alert = [CustomAlert sharedAlert];
[alert showInView:self.view];
}
在我的情况下效果很好,所以有必要在[[[NSBundle mainBundle] loadNibNamed: owner: options:
设置所有者吗?
答案 0 :(得分:2)
假设您有一个带有一个tableview的nib文件,并且tableviews委托和数据源连接到接口构建器中的“files owner”。如果将文件所有者设置为任何对象,则该对象将是tableview的数据源和委托。这适用于连接到文件所有者的任何内容。