在下面的方法中为什么 indexPath.Row 总是返回0 ???
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell.
[cell.textLabel setText:[mainItems objectAtIndex:indexPath.row]];
return cell;
}
mainItems是一个NSMutableArray,有5个项目(“第1项”,“第2项”,......),视图确实获得5个项目......但它们都是“第1项”,而不是第1项,第2项...
我做错了什么?
答案 0 :(得分:3)
我的猜测是你在-numberOfSectionsInTableView
的实现中返回了错误的值,并且表视图要求你输入5个部分的第0行。
表视图包含节,每个节都有行。许多表视图只有一个部分,但该部分中有许多行。听起来你有一个部分,有5行。请确保在以下各项中返回正确的值:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section