这是一个视频,在索引路径的行中记录索引路径:(请参阅下面的新链接)
所以,另一个奇怪的...... 在我家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;
}
答案 0 :(得分:1)
经过深思熟虑后,我决定彻底擦拭iMac并进行全新安装 现在,虽然我只是执行了干净安装(实际上,它与重置iOS模拟器中的内容和设置相同) - 看起来问题已经消失。现在,我不确定这是因为我刚刚执行了干净安装,但是我再次关闭并重新打开Xcode,重新启动了几次并且问题没有恢复。
真的很烦人,它是从格式化系统并从头开始,但无论如何。至少它正在发挥作用。
答案 1 :(得分:0)
如果事情按照您描述的方式发生,请考虑reporting Apple的错误。
答案 2 :(得分:0)
尝试安装最新版本的显卡驱动程序
答案 3 :(得分:0)
我认为这里没有足够的信息来确定问题所在。我认为最好的方法是使用Xcode分析工具来追踪问题所在。另请查看图形分析工具,以确定是否发生了过多的绘图。