2

当我们使用loadNibNamed方法获取nib文件的时候,为什么会返回一个数组,是不是一个nib文件名对应一个nib文件呢?我尝试打印这个数组的计数,我发现它总是返回1。希望你能帮我解释一下,非常感谢!这是代码片段:

 NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"TestView" owner:self options:nil];
 NSLog(@"array's count is %ld",array.count);
4

3 回答 3

3

xib 返回数组的原因是“.XIB”可以包含多个视图。优点是您不必为一个视图创建一个 xib 文件。您只需将多个视图放入一个 XIB 并从数组中访问它

示例
.Xib --> 数组[view1, view2, view3, view4]

你可以从图片中看到 在此处输入图像描述

于 2016-03-22T07:55:07.693 回答
3

这是因为 NIB/xib 文件也可以包含多个视图表示。因此,您可以在数组中访问所有包含的视图。

于 2016-03-22T07:49:37.710 回答
2

感谢这里的讨论:

这是 ProjectBuilder/PBX/Interface Builder 早期遗留下来的遗留设计。我强烈不推荐这种方法,只使用单独的 xib 文件。我没有看到任何好处。

但是,如果决定仍然这样做,您可以拥有多个视图。

在此处输入图像描述

并使用 .first 或 访问 View [0],使用 view-2[1]等等。话虽如此,日航在评论中表示不能保证正确返回索引,最好switch使用sfilter或使用tags 作为视图。

于 2017-01-09T18:45:25.893 回答