zoukankan      html  css  js  c++  java
  • UITableView 滚动时使用reloaddata出现 crash'-[__NSCFArray objectAtIndex:]: index (1) beyond bounds (0)' Crash

    例子:

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

    static NSString *CellIndentifier = @"Account";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIndentifier];
        
        //adjust the height for cell
        CGRect cellFrame = [cell frame];
        cellFrame.size.height = self.bgImageView.frame.size.height/2;
        
        //first time load the content
        if (cell == nil) {
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIndentifier] autorelease];
        
        。。。。。。。。。

    else

      //这里主要是为了在滚动屏幕时候解决屏幕内容显示错误。但是却引发了这个问题,操作为向一个方向快速反复滚动就很容易crash,应该是reload后因为使用了dequeueReusableCellWithIdentifier导致table

    无法得到正确的应当显示的cell内容和个数,导致出错。

        [viewtable  reloadData];

    解决方法:

    static NSString *CellIndentifier = @"Account";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIndentifier];
        
        //adjust the height for cell
        CGRect cellFrame = [cell frame];
        cellFrame.size.height = self.bgImageView.frame.size.height/2;
        
        //first time load the content
        if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIndentifier] autorelease];
        
    //创建所有的子视图

    }else

    {

    //移除所有的子视图

     while ([cell.contentView.subviews lastObject] != nil)
                    {
                        [(UIView*)[cell.contentView.subviews lastObject] removeFromSuperview];
                    }
    //重新添加子视图
     

    }

    这样做的效果上看不会因为删除子视图然后出现空白等待加载的不良效果

  • 相关阅读:
    博客地址
    Version 1.4.2_03 of the JVM not suitable for this product.解决
    http请求(一) 工具
    Service 的两种启动方法和区别
    软件开发过程应该采用集中优势兵力各个击破
    架构感悟
    嵌套事务模版
    软件行业对人才的依赖
    使用SQL Server 2005 新的语法ROW_NUMBER()进行分页的两种不同方式的性能比较
    架构设计中的分层与分区
  • 原文地址:https://www.cnblogs.com/lisa090818/p/3388165.html
Copyright © 2011-2022 走看看