我正在尝试创建嵌套的集合视图。首先,我做了一个级别。
使用字符串header
创建数据模型类。在app delegate中创建了一个数组sectionTitle
。现在在笔尖中,我添加了集合视图&数组控制器并执行此guide之后的所有绑定。接下来在awakeFromNib
我填充了一些随机数据
- (void)awakeFromNib {
int idx = 0;
NSMutableArray *sectionTitle = [[NSMutableArray alloc] init];
while (idx < 1) {
HeaderModel *header = [[HeaderModel alloc] init];
[header setHeader:[NSString stringWithFormat:@"Section %d", idx]];
[sectionTitle addObject:header];
idx++;
}
[self setHeaderData:sectionTitle];
}
运行它会给我4个部分。我希望实现与this类似的布局。部分标题,下面是另一个项目集合。答案只给出了使用嵌套集合视图的提示。
所以我在第一个视图原型中添加了另一个集合视图。然后我按照与第一个视图相同的方法(使用不同的数据模型和数组)。
- (void)awakeFromNib {
int idx = 0;
NSMutableArray *sectionTitle = [[NSMutableArray alloc] init];
NSMutableArray *groupData = [[NSMutableArray alloc] init];
while (idx < 1) {
HeaderModel *header = [[HeaderModel alloc] init];
DataModel *name = [[DataModel alloc] init];
[header setHeader:[NSString stringWithFormat:@"Section %d", idx]];
[name setName:[NSString stringWithFormat:@"Name %d", idx]];
[sectionTitle addObject:header];
[groupData addObject:name];
idx++;
}
[self setHeaderData:sectionTitle];
[self setData:groupData]; //NSCollectionView item prototype must not be nil.
}
但现在我收到错误 NSCollectionView项目原型不能为零。 我该如何解决这个问题?
答案 0 :(得分:1)
我刚刚回答了类似的问题here
但不知何故,通过在I.B中插入第二个NSCollectionView,您的内部NSCollectionViewItem会获得一个损坏的原型。只需尝试将每个关联的NSView提取到自己的.xib
中