当我们使用loadNibNamed方法来获取nib文件时,为什么会返回一个数组,不是一个nib文件名对应一个nib文件吗?我试着打印这个数组的计数,我发现它总是返回1。希望你能帮我解释一下,非常感谢!以下是代码片段:
NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"TestView" owner:self options:nil];
NSLog(@"array's count is %ld",array.count);发布于 2016-03-22 15:49:38
这是因为NIB/xib文件还可以包含多个视图表达。因此,在数组中,您可以访问所有包含的视图。
发布于 2016-03-22 15:55:08
xib返回数组原因是".XIB“可以包含多个视图。优点是您不必为一个视图创建一个xib文件。您只需将多个视图放入一个XIB中,并从一个数组中访问它
示例
.Xib --> arrayview1,view2,view3,view4
你可以从图片中看到

发布于 2017-01-10 02:45:26
感谢here的讨论
这是ProjectBuilder/PBX/Interface Builder早期遗留下来的遗留设计。我强烈建议不要使用这种方法,只使用单独的xib文件。我看不出有什么好处。
但是,如果决定仍然这样做,您可以拥有多个视图。

使用.first或[0]访问视图,使用[1]访问视图-2,等等。尽管如此,日航在评论中表示,它不能保证正确返回索引,最好是使用switch、filter或使用tags作为视图。
https://stackoverflow.com/questions/36148706
复制相似问题