2011-07-21 8 views
5

私はアプリケーションを開発していますが、ある時点で私はいくつかのuitableviewを持っています。 デリゲートメソッドの外で、例えばテーブルビューに選択されたセルがあるかどうか、そしてどのセルがあるかを知りたいと思っています。uitableviewに選択したセルがあるかどうかを知るには

私が使用しようとした:あなたは任意のヘルプをお願いでき

ゼロ

(NSIndexPath *)indexPathForSelectedRowが、それは動作しません、私が選択したセルに [(NSIndexPath *) row]リターンを持っていない場合ので、「0」ではなく?

感謝..

+0

選択した行のインデックスをivarで保存できます。 – dasdom

+0

はい、それは考えです。私はすでに、選択されたセルを格納するNSMUtable配列を持っています。 NSMUtablearrayのnilオブジェクトを置き換えることができないため、 "i"インデックスをnilに初期化することはできません。 問題は、確定したテーブルビューに選択したセルがあるかどうかを確認することです。 はわかりましたか? ありがとう – Frade

答えて

20

あなたの方法は正しいです - indexPathForSelectedRowは確かにセルが選択されていない場合はnilを返します。

NSIndexPath *path = [table indexPathForSelectedRow]; 
if (path){ 
    row = [path row]; 
    ... 
} 
else{ 
// No cell selected 
} 

P.S.:しかし、あなたがnilオブジェクトにメッセージを送信しようと値を使用している場合は、あなたがパス値は、それから、セルの行を取得しようとする前にゼロであるかどうかをテストする必要があるので、それは、0が返されますnilは単に型キャストされた0なので、実際には同じものです。

関連する問題