首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

tableView 下拉刷新,卡。该怎么解决

2013-09-07 
tableView下拉刷新,卡。这个问题困扰两个星期了,求大神帮忙解决。我自己写了一个cell继承了UITableViewCell,

tableView 下拉刷新,卡。
这个问题困扰两个星期了,求大神帮忙解决。我自己写了一个cell继承了UITableViewCell,然后在cell里面加了贴图和标签,以达到项目需要的效果。问题来了。。。在真机测试的时候,tableView往下拖,刷新新的cell会卡。而且调试发现,不停的上拉下拉。内存会不断增加。上代码

- (ChatCustomCell1 *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    static NSString *identifier = @"tableViewIdentifier";
    ChatCustomCell1 *cell = [tableView dequeueReusableCellWithIdentifier: identifier];
    if(cell == nil)
    {
        [self.cellNib instantiateWithOwner:self options:nil];
        cell = tmpCell;
        self.tmpCell = nil;
    }
    NSInteger row = [indexPath row];
    ChatMessage *chatMessage = (ChatMessage *)[chatMessageArray objectAtIndex:row];
    cell.messageLable.text = chatMessage.message;
    
    // 设置cell
    if (chatMessage.fromMyself)
    {
        UIImage *image = [UIImage imageNamed:@"online.png"];
        cell.leftFaceImageView.image = image;
        [image release];
        [cell.leftTimeLable setText:chatMessage.messageTime];
        UIImage *image1 = [UIImage imageNamed:@"bubule2"];
        cell.messageBackImage.image = image1;
        [image1 release];
        AppDelegate *myApp = [[UIApplication sharedApplication] delegate];
        cell.leftNameLable.text = myApp.loginName;
    }
    else
    {
        UIImage *image = [UIImage imageNamed:@"online.png"];
        cell.rigthFaceImageView.image = image;
        [image release];
        
        cell.rightTimeLable.text = chatMessage.messageTime;


        UIImage *image1 = [UIImage imageNamed:@"bubule1"];
        cell.messageBackImage.image = image1;
        [image1 release];
        cell.rightNameLable.text = chatMessage.senderName;
    }
    cell.messageLable.textAlignment = NSTextAlignmentCenter;
    cell.messageLable.font = [UIFont systemFontOfSize:[UIFont systemFontSize]];
    [cell.messageLable setNumberOfLines:0];
    return cell;
}

UItableView 卡 内存不断增加
[解决办法]
你可以看下提升Tableview性能方面的知识,加载数据可以绑定到你子类化cell的那个类中去

热点排行