配列productsArray内のすべてのアイテムを表示するgridViewを作成しました。この配列は、カスタム クラス タイプ Products のオブジェクトを保持します。以下に示す関数は、製品オブジェクトからの情報を使用してビューの配列を作成しています。ここで、親の製造元に基づいて製品をフィルター処理したいと考えています。
-(NSArray*)arrayOfObjectToBeAddedToGriView{
NSMutableArray* productsScrolLViewItemsArray = [[NSMutableArray alloc] init];
for (Products* product in productsArray){
ProductScrollViewItem* productScrollViewItem = [[ProductScrollViewItem alloc] initWithFrame:CGRectMake(0,0,0,0) withProduct:product];
[productScrollViewItem addTarget:self action:@selector(productInGridViewTapped:) forControlEvents:UIControlEventTouchUpInside];
[productsScrolLViewItemsArray addObject:productScrollViewItem];
}
return (NSArray*)productsScrolLViewItemsArray;
}
メーカーによるフィルタリング
-(void) filterBasedOnManufacturer:(Manufacturer*)selectedManufacturer{
[productsArray removeAllObjects];
[productsArray addObjectsFromArray:[selectedManufacturer.productsForManufacturer allObjects]];
// relod the gridView with filtered products
[productCatalogueGridView reloadItems:[self arrayOfObjectToBeAddedToGriView]];
}
productScrollViewItem は、ImageView と 2 つのラベルを持つサイズ 100,100 の小さなビューです。ここでの私の懸念は、フィルタリングされた Products オブジェクトに対して毎回すべての productScrollViewItem を再初期化していることです。ProductsArray と productScrollViewItemArray の両方を除外した方がよいのか、それとも再初期化するビューが非常に小さいため問題ではないのか疑問に思っています。ありがとう。