UITableView滚动在iOS模拟器中不稳定

时间:2012-06-06 02:17:02

标签: ios xcode performance simulator

这是一个视频,在索引路径的行中记录索引路径:(请参阅下面的新链接)

所以,另一个奇怪的...... 在我家iMac(全新)上,当我第一次在模拟器中运行Xcode项目时,运行正常。如果我然后退出模拟器和Xcode,然后再次打开Xcode并运行它 - (想想这是另一天再次开始在项目上工作) - 当我尝试滚动任何uitableview时,模拟器重绘所有单元格(它似乎没有正确出列和重用)。我知道这是因为我正在绘制单元格时运行NSLog。

如果我在模拟器中重置设置然后再次运行 - 它会平滑滚动。 我已经尝试完全卸载Xcode并重新安装它无济于事。 我正在使用Xcode 4.3.2。

现在,人们可能会认为这是代码BUT,得到这个: 我在办公室有另一个(全新的iMac)。我在Dropbox上有这个Xcode项目,因此两个副本都是相同的(办公室和家庭)。在办公室,我没有这个奇怪的滚动问题...一切正常。

这两个mac(两者都是27英寸,内存为16GB)之间的唯一区别是硬盘 - 办公室mac有一个1Tb 7200转的驱动器。我的家用mac有一个来自Apple的SSD。

我不知道是什么导致了这一点...这真的令人沮丧。 我并不反对擦拭我家的Mac并重新开始,但这有点激烈。

思考?我没有发布代码,因为在2台不同的计算机上运行相同的代码会产生不同的结果,所以代码似乎不是问题。

更新代码 - 和视频http://ge.tt/4ZuZ9mI/v/0

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

            static NSString *CellIdentifier = @"dateCell";

            FEDateCell *cell = (FEDateCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
            if (cell == nil) {
                [[NSBundle mainBundle] loadNibNamed:@"FEDateCell" owner:self options:nil];
                cell = dateCell; 
                [cell setClipsToBounds:YES];
            }
            PFObject *eventObj = [self.itemsList objectAtIndex:indexPath.row];
            //Get cell date from row
            NSDate *currentDate = [eventObj objectForKey:@"startDate"];

            cell.cellDate = currentDate;
            cell.eventsArray = [NSArray arrayWithObject:eventObj];

            [dateFormatter setDateFormat:@"dd"];
            cell.dayNumber.text = [dateFormatter stringFromDate:cell.cellDate];
            [dateFormatter setDateFormat:@"EEE"];
            cell.dayName.text = [dateFormatter stringFromDate:cell.cellDate];


            [cell updateCellData];

            return cell;
        }

4 个答案:

答案 0 :(得分:1)

经过深思熟虑后,我决定彻底擦拭iMac并进行全新安装 现在,虽然我只是执行了干净安装(实际上,它与重置iOS模拟器中的内容和设置相同) - 看起来问题已经消失。现在,我不确定这是因为我刚刚执行了干净安装,但是我再次关闭并重新打开Xcode,重新启动了几次并且问题没有恢复。

真的很烦人,它是从格式化系统并从头开始,但无论如何。至少它正在发挥作用。

答案 1 :(得分:0)

如果事情按照您描述的方式发生,请考虑reporting Apple的错误。

答案 2 :(得分:0)

尝试安装最新版本的显卡驱动程序

答案 3 :(得分:0)

我认为这里没有足够的信息来确定问题所在。我认为最好的方法是使用Xcode分析工具来追踪问题所在。另请查看图形分析工具,以确定是否发生了过多的绘图。