当我们使用loadNibNamed方法获取nib文件的时候,为什么会返回一个数组,是不是一个nib文件名对应一个nib文件呢?我尝试打印这个数组的计数,我发现它总是返回1。希望你能帮我解释一下,非常感谢!这是代码片段:
NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"TestView" owner:self options:nil];
NSLog(@"array's count is %ld",array.count);
当我们使用loadNibNamed方法获取nib文件的时候,为什么会返回一个数组,是不是一个nib文件名对应一个nib文件呢?我尝试打印这个数组的计数,我发现它总是返回1。希望你能帮我解释一下,非常感谢!这是代码片段:
NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"TestView" owner:self options:nil];
NSLog(@"array's count is %ld",array.count);
这是因为 NIB/xib 文件也可以包含多个视图表示。因此,您可以在数组中访问所有包含的视图。
感谢这里的讨论:
这是 ProjectBuilder/PBX/Interface Builder 早期遗留下来的遗留设计。我强烈不推荐这种方法,只使用单独的 xib 文件。我没有看到任何好处。
但是,如果决定仍然这样做,您可以拥有多个视图。
并使用 .first 或 访问 View [0]
,使用 view-2[1]
等等。话虽如此,日航在评论中表示不能保证正确返回索引,最好switch
使用sfilter
或使用tag
s 作为视图。