1

UITableViewClassメソッドを呼び出して、カスタム実装からUITableViewControllerクラスにオブジェクトを渡す必要があります。カスタム tableViewCell で tableViewController のインスタンスを作成し、tableViewController のメソッドを呼び出すことは悪い習慣だと認識しています。

これを行う適切な方法は何ですか?

4

2 に答える 2

0

Objective-Cの2つの魔法の概念は、委任通知です。

委任を使用すると、コントローラーをセルで参照されている弱いオブジェクトにフックさせることができます。これにより、保持サイクルを回避しながら、メッセージをセルに送信できます。

通知を使用すると、Cellは、アクティブでそれをリッスンしているクラスに一般的な通知をブロードキャストできます。

1つを選び、最も簡単な方を選びます。この状況では、この2つは基本的に同じです。

于 2012-06-14T19:10:33.653 に答える
0

セル内にtableControllerの参照を持つことは、確かに悪い習慣です

これを修正するには、のスペシャル@protocolを実装し、UITableViewClass それにデリゲートメソッドを追加してから、その中にメソッドを実装しUITableViewControllerます。UITableViewClassデリゲートはあなたUITableViewControllerであるため、UITableViewClass.mのように呼び出します。

[delegate someMethod:data];
于 2012-06-14T19:10:46.930 に答える