我正在阅读关于Objective c编程的Big Nerd Ranch指南,我有代码:
- (NSInteger) tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section {
return [self.tasks count];
}
- (UITableViewCell *) tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath{
// Get a reusable cell
UITableViewCell *c = [self.taskTable dequeueReusableCellWithIdentifier:@"Cell"];
// This below is what i don't understand
NSString *item = [self.tasks objectAtIndex:indexPath.row];
c.textLabel.text = item;
return c;
}
我不明白indexPath.row返回什么或者它在数组中代表什么索引,我刚刚到达本书实际上要做小应用程序的部分,所以我习惯于只传递一个整数索引。
NSString * item = [self.tasks objectAtIndex:indexPath.row];
我不知道是否需要所有这些代码,但我只想确保您拥有回答问题所需的所有代码。
.h文件 - http://pastebin.com/TRnPqn4d
.m文件 - http://pastebin.com/YXZffwye
答案 0 :(得分:5)
与此相关的indexPath
包含两位信息。
section
- 表格中要放置单元格的部分。row
- 单元格将放入的行(在部分中)。所以回答"它返回了什么?"。这取决于单元格要进入的部分/行。
它所处的功能对每个可见行运行一次。所以从indexPath.row
开始将是0.然后它将是1,然后是2,然后是3,依此类推。
这样做是为了每次都可以从数组中获取正确的字符串。
答案 1 :(得分:0)
NSIndexPath UIKit Additions在NSIndexPath
上添加了一个类别,其中添加了section
和row
属性以及一些其他添加内容。
row
标识表视图的一部分中的行的索引号。 (只读)
@property(nonatomic, readonly) NSInteger row
section
标识表视图或集合视图中的节的索引号。 (只读)
@property(nonatomic, readonly) NSInteger section