indexpath.row 每次都显示索引 0

Posted

技术标签:

【中文标题】indexpath.row 每次都显示索引 0【英文标题】:indexpath.row showing index 0 every time 【发布时间】:2015-01-24 10:52:16 【问题描述】:

所以问题是,在我的 cellForRowAtIndexPath 方法中,每次 indexpath.row 仅为“0”。并确认我已经用“count”打印了计数器。但每次它显示 0 并且我的整个表都分配有相同的值。不知道怎么了。请有人帮忙。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

    return [arr_Max count];


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

    return 1;


-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

    return 10;


-(UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath:(NSIndexPath *) indexPath

    static NSString *simpleTableIdentifier = @"SimpleTableViewCell";
    count=(int)indexPath.row;

    NSLog(@"%d",count);
    SimpleTableViewCell *cell = (SimpleTableViewCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil)
    
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"SimpleTableViewCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
    
    cell.label.text=[NSString stringWithFormat:@"%@",[arr_Max objectAtIndex:count] ];
    return cell;

【问题讨论】:

你们是如何实现 numberOfRowsInSection 的? 请提供更多代码以了解您的问题。 检查我编辑的版本 @Rahul 你是如何定义计数变量的?您是否在代码中的任何位置对其进行了初始化? @Rahul 你已经返回 count fix 1 作为行数,那么你只能得到一个 0 的索引。 【参考方案1】:

你的代码有误,正确的代码如下:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

    return 1;


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:    (NSInteger)section

    return [arr_Max count];

【讨论】:

【参考方案2】:

很可能您的 tableView 委托方法 numberOfRowsInSection 返回了错误的行数。

确保这是必需的委托方法,

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

返回一个有效数字 - 通常是数据源中的元素数。

【讨论】:

我猜这是因为在“numberOfRowsInSection”中只返回 1。我已经实现了这种方式,因为我想在单元格之间获得空间。请向我提出针对这种情况的适当解决方案。检查我编辑的版本【参考方案3】:

您已使用以下内容更新您的代码,其他部分将保持不变:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

    return 1;


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

    return [arr_Max count];

【讨论】:

我已经实现了这种方式,因为我想在单元格之间获得空间。请为我提出适合这种情况的解决方案。 @Rahul 如果您想要单元格之间的空间,那么您可以在 SimpleTableViewCell 视图的底部放置更多空间。【参考方案4】:

看来您有 number 或 rows = 1(来自 numberOfRowsInSection)。 所以每次,当你的 tableview 委托触发方法时,它只返回 1 行。 你能解释一下你的问题吗?

按照我的理解,你应该继续这样的代码。

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection: 
(NSInteger)section

return [arr_Max count];
 

那么您可能会根据您的数组内容获得计数值。 请评论是否可以或对此有任何疑问。

【讨论】:

以上是关于indexpath.row 每次都显示索引 0的主要内容,如果未能解决你的问题,请参考以下文章

indexPath swift的索引超出范围

IndexPath.row 多个部分的错误值

UITableViewCell 问题 indexPath.row 无法正确显示

如何获取当前正在显示的tableView的indexPath.row?

使用 indexPath.row 保存收藏按钮状态

如何在特定 indexpath.row 上显示自定义 tableviewcell