0

2 つのオブジェクトがあります。それらをスーパー オブジェクトとサブ オブジェクトと呼びましょう。各スーパー オブジェクトはスタンドアロン オブジェクトですが、各サブ オブジェクトにはそのスーパー オブジェクトのプロパティが含まれている必要があります。コレクションビューを設定しようとしています

4 つのスーパー オブジェクトと 70 のサブ オブジェクトがあり、各スーパー オブジェクトのセクションが必要で、70 のサブ オブジェクトすべてを表示したい (各サブ オブジェクトにはスーパー プロパティがあるため) これらのサブ オブジェクトを関連するスーパーの下に整理したいとします。物体

今のところ、すべてのサブオブジェクトを 70 個のオブジェクトの配列にまとめています。しかし、どうすればすべてを整理して動的にすることができますか? サブオブジェクトをさらに追加すると、それらは正しいスーパーオブジェクトセクションの下に直接移動します

基本的にこれらの設定に助けが必要です:

-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
4

2 に答える 2

0

配列の配列を作成できます。

NSArray *subObjectArrays = [NSArray arrayWithObjects:subObjectArray1, subOjectArray2, subObjectArray3, subObjectArray4, nil];

ここsubObjectArray1subObjectArray2、、、、はスーパー オブジェクトごとに異なる配列です subObjectArray3subObjectArray4

メソッドnumberOfItemsInSection内:

 -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
  return  [[subObjectArrays objectAtIndex:section] count];
}
于 2013-08-11T12:16:33.927 に答える
0

基本的に、スーパー オブジェクトごとに 1 つのサブ配列である、配列の配列が必要です。各スーパー オブジェクトの詳細情報が必要な場合は、辞書の配列を使用できます。各辞書には、すべてのサブオブジェクトの配列が含まれています。

次に、コレクション ビューを構成するには、次のようにします。

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
    return [superObjects count];
}

-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
   return [superObjects objectAtIndex:section] count];
}

スーパー オブジェクトまたはサブ オブジェクトをさらに追加する必要がある場合は、それらをデータ構造に追加しreloadData、コレクション ビューを呼び出すことができます。

于 2013-08-11T12:21:26.120 に答える