3

これは、インデックス パスの行のセルにインデックス パスを記録するビデオです: (以下の新しいリンクを参照)

それで、別の奇妙なもの...私の家のiMac(真新しい)で、シミュレーターで初めてXcodeプロジェクトを実行すると、正常に実行されます。その後、シミュレーターと Xcode を終了し、Xcode を再度開いて実行すると (別の日にプロジェクトの作業を開始すると考えてください) - uitableview をスクロールしようとすると、シミュレーターはすべてのセルを再描画します。 (デキューと再利用が正しく行われていないようです)。セルが描画されているときに NSLog を実行しているため、これを知っています。

シミュレーターで設定をリセットしてから再度実行すると、スムーズにスクロールします。Xcodeを完全にアンインストールして再インストールしようとしましたが、役に立ちませんでした。Xcode 4.3.2 を使用しています。

さて、これはコードの何かだと思うかもしれませんが、これを取得してください:私はオフィスに別の(真新しいiMac)を持っています。私はドロップボックスにこの Xcode プロジェクトを持っているので、両方のコピーは同じです (オフィスと自宅)。オフィスでは、この奇妙なスクロールの問題はありません...すべてが正しく機能します。

2 つの Mac (どちらも 27 インチで 16 GB RAM) の唯一の違いは hdd です。オフィスの Mac には 1 TB 7200 RPM ドライブがあります。自宅の 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

4 に答える 4

1

熟慮の末、iMac を完全に消去してクリーン インストールすることにしました。
さて、クリーン インストールを実行したところですが (実際には、iOS シミュレーターのコンテンツと設定をリセットするのと同じです)、問題は解決したようです。クリーンインストールを実行したばかりなので、これについては確信が持てませんが、Xcodeを何度も閉じて再度開き、数回再起動しましたが、問題は再発していません.

システムをフォーマットしてゼロから始めるのは本当に面倒ですが、何でも。少なくともそれは働いています。

于 2012-06-12T19:26:40.177 に答える
0

グラフィックカードドライバーの最新バージョンをインストールしてみてください

于 2012-06-06T04:46:59.963 に答える
0

問題が何であるかを判断するのに十分な情報がここにあるとは思いません。Xcode プロファイリング ツールを使用して、問題がどこにあるかを追跡することが最善の方法だと思います。また、グラフィカル プロファイリング ツールを調べて、過剰な描画が発生しているかどうかを判断します。

于 2012-06-08T07:52:14.153 に答える
0

あなたが説明したようなことが起こった場合は、Apple にバグを報告することを検討してください。

于 2012-06-06T02:33:12.920 に答える