2011-08-08 8 views
-3

私はニュースフィードの情報を表示するためにテーブルビューを使用しています。いずれかのセルをクリックすると展開され、すべての情報が表示されます。もう一度クリックすると、セルが折りたたまれます。これまでのところ、iOS 4では4.3まで動作しました。しかし、私が新しいベータ版でそれをテストしていたとき、いくつかの問題がありました。iOS 5 beta 4&5のUITableViewの問題

まず、indexPathが変更されたようです。以下のコードは正しく機能していません。私はこれを使って、拡大しなければならない細胞を認識しました。

(selectedIndexPath == indexPath) {場合

誰もが正確に何が変更されたか知っていますか?上記のコードを修正する方法は?

まれな状況を除いてのthnx

答えて

6

は、オブジェクトの等価性を表現するために、ポインタの平等を使用すべきではありません。

あなたはほとんど常にやるべきこと:

if ([selectedIndexPath isEqual:indexPath]) { 

NSObjectisEqual:の基本実装は、単にポインタの比較を行って、その後、具体的な実装を必要とするクラスは、独自のロジックを実行するために、それを上書きします。

+0

私は 'a.row == b.row && a.section == b.section'を使いました。もし' -isEqual: 'がそれを助けてくれたら、 – BoltClock

+0

ありがとう!私はそれを修正した。しかし、まだ困難に直面して...私は選択されたインデックスを正しい方法で設定していないと思う。私はこれを行っているselectedIndexPath = indexPath; – Jos

+1

@Jos:そうだね、おそらく、それがもっと長く張り付いていることを確認するために、 'indexPath'を保持する必要があります。 –

関連する問題