使用 loadNibName 时所有者的含义是什么?



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文件,表视图委托和数据源连接到接口生成器中的"文件所有者"。如果将文件所有者设置为任何对象,那么该对象将是表视图的数据源和委托。这对连接到文件所有者的任何内容都有效。

相关内容

  • 没有找到相关文章

最新更新