当我们使用loadNibNamed方法获取nib文件时,为什么会返回一个数组,是不是nib文件名对应一个nib文件?我尝试打印这个数组的计数,我发现它总是返回1.我希望你能帮我解释一下,谢谢你!以下是代码片段:
NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"TestView" owner:self options:nil];
NSLog(@"array's count is %ld",array.count);
答案 0 :(得分:3)
这是因为NIB / xib文件还可以包含多个视图表示。因此,在数组中,您可以访问所有包含的视图。
答案 1 :(得分:3)
xib返回数组的原因是“。XIB”可以包含多个视图。优点是您不必为一个视图创建一个xib文件。您只需将多个视图放入一个XIB并从数组中访问它
示例强>
.Xib - > array [view1,view2,view3,view4]
答案 2 :(得分:1)
感谢讨论here:
这是ProjectBuilder / PBX / Interface Builder早期遗留下来的遗留设计。我强烈建议不要使用这种方法,只使用单独的xib文件。我没有看到任何好处。
但是如果决定仍然这样做,你可以拥有多个视图。
使用.first或[0]
访问View,使用[1]
访问view-2,依此类推。在评论中说,JAL已经说过它不能保证正确返回索引,而且switch
,filter
或者使用tag
s更好视图。