5

Apple Doc 说nib 文件中最重要的对象之一是 File's Owner 对象,但似乎是 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];
}

在我的视图控制器中:

- (IBAction)buttonPressed:(id)sender{
    CustomAlert *alert = [CustomAlert sharedAlert];
    [alert showInView:self.view];
}

它在我的情况下效果很好,所以有必要设置所有者[[[NSBundle mainBundle] loadNibNamed: owner: options:吗?

4

1 回答 1

2

假设您有一个带有一个 tableview 的 nib 文件,并且 tableviews 委托和数据源连接到界面构建器中的“文件所有者”。如果您将文件所有者设置为任何对象,则该对象将成为 tableview 的数据源和委托。这对于与文件所有者挂钩的任何内容都有效。

于 2013-12-17T02:56:11.557 回答