ネストされたコレクション ビューを作成しようとしています。最初に私は1つのレベルのためにやった.
String を使用してデータ モデル クラスを作成しましたheader
。アプリデリゲートで配列を作成しましたsectionTitle
。ペン先に、コレクションビューとアレイコントローラーを追加し、このガイドに従ってすべてのバインディングを行いました。次に、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 つのセクションが表示されます。これと同様のレイアウトを実現したい。セクション タイトル、その下に別の項目のコレクション。そこに与えられた答えは、ネストされたコレクションビューを使用することを示唆しているだけです。
そこで、最初のビュー プロトタイプに別のコレクション ビューを追加しました。次に、最初のビューで行ったのと同じアプローチに従いました(データモデルと配列が異なります)。
- (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 アイテム プロトタイプは nil であってはならないというエラーが表示されます。 これを解決するにはどうすればよいですか?