我有一个包含很多视图的应用程序,包括tableViews,但其中一个有一个我不知道如何解决的问题。 当调用单元格的构造函数时:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
参数 cellForRowAtIndexPath:(NSIndexPath *)indexPath 获取一个随机且奇怪的数字。我正在以与其他人相同的方式构建此tableView。有人知道发生了什么事吗?
谢谢, 克劳迪奥
答案 0 :(得分:0)
indexPath的技巧是使用UITableView
扩展属性indexPath.section
和indexPath.row
。
换句话说,如果你有一个简单的字符串列表:
self.data = [NSArray arrayWithObjects:@"One", @"Two", @"Three", nil];
然后在tableView:cellForRowAtIndexPath:
你要做的事情:
cell.textLabel.text = [self.data objectAtIndex:indexPath.row];
如果数组中有数组:
self.data = [NSArray arrayWithObjects:
[NSArray arrayWithObjects:@"A.1", @"A.2", nil],
[NSArray arrayWithObjects:@"B.1", @"B.2", nil],
nil];
然后,您需要查看section
和row
属性:
NSArray *strings = [self.data objectAtIndex:indexPath.section];
cell.textLabel.text = [strings objectAtIndex:indexPath.row];
确保为numberOfSectionsInTableView:
和tableView:numberOfRowsInSection:
返回正确的数字。