大家好,現在有一難題請高手幫忙,用一個動態數組存儲用戶的照片。
arryData = [[NSArray alloc] initWithObjects:@"pic1.png", @"pic2.png", @"pic3.png", @"pic4.png", @"pic5.png", @"pic6.png",@"pic7.png", @"pic8.png",nil];
數組中包含的照片數量不限,8,20或者100都可以。在tableView中,每行創建4個UIimageView,添加到cell.conentView中。所以要求是:
以此類推
所以問題就是怎麼實現這樣的數學問題?
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
//NSLog(@"Inside numberOfRowsInSection");
//return [arryData count];
//Cannot think of a logic to use here? I thought about dividing [arryData count]/4 but that will give me fractions
}
還是看一下圖片預覽效果吧
基本上,你需要除以4,四捨五入,由於在objective-c中整數除法會被截斷,你可以這樣循環:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return (arryData.count + 3) / 4;
}
要使整數除法循環,需要在除法在分子前添加分母-1
舉個例子:
static const int kImagesPerRow = 4;
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return (arryData.count + kImagesPerRow - 1) / kImagesPerRow;
}