2012-03-19 27 views
2

私は仕事が苦労しました。私は、UITableViewCellに追加情報を添付しようとしています。 tableViewCellsには​​、そのサブクラス化されたボタンがあります(NSStringを渡しています)。UITableViewCell追加情報

ユーザーがtableRowをクリックすると、他のメソッドを起動して同じ文字列を渡したいと思います。 UITableViewCellのサブクラスを作成し、その文字列を追加しました。

しかし、私はtableView:didSelectRowAtIndexPath:内の文字列の値を取得することはできません。

[tableView cellForRowAtIndexPath:indexPath].passString 
    → /* Property 'passString not found on object of type UITableViewCell */ 

私はNSLog(@"%@", [tableView cellForRowAtIndexPath:indexPath]);を行うと、私は、ログのプロパティを見ることができます:のUITableViewは私のカスタムサブクラスをUITableViewCellのを返していないためだ 。

私の質問 このサブクラスのプロパティを他のメソッドで取得するにはどうすればいいですか?

私はUITableViewもサブクラス化したくありません。私はのように私が使用しているすべてののUIElementをサブクラスに終わるだろう: '(助けを

おかげで、挨拶 ジュリアン

答えて

3

Jullianがちょうど

CustomCell *cell = (CustomCell*)[tableView cellForRowAtIndexPath:indexPath]; 
cell. passString; //it will work 
のようなカスタムクラスに UITableViewCellをキャストタイプ

またはドット演算子の代わりにメッセージを渡すことができます
[[tableView cellForRowAtIndexPath:indexPath] passString];
警告メッセージが表示されますあなたがCustomCellのオブジェクトであれば動作します。私のコードで警告が気に入らないので、最初の方法を使用することをお勧めします。

1

お返事ありがとうございます! 私はそれを働かせました。最初の30私はちょうどyou'vを意味し、ゴミのソースを書いたもの、知りませんでしたminutestについては

... :))

+0

@jullianの代わりに、あなたが私の答えにコメントすることができ、あなたの質問に答えます...: Dはとにかくそれがあなたが私のポイントを得たことは良いです。 –

関連する問題