-2

コードを 3 つのファイルに分割し、addsubview を介してそれらを分割したいと考えています。例のために。私は masterview を持っています。mastreview には currentView が含まれています。CurrentView には、1 つの webview と 1 つの tableview が含まれています。今、私はすべてのコードを 1 つのファイルに書きましたが、それは魅力のように機能します。しかし、私はそれを抽象的で疎結合にしたいと考えています。だから私は別のファイルexが必要です。デリゲートとそれに関連する関数を実装するための webviewController AND デリゲートとそれに関連する関数を実装するための tableviewController。そして、マスタービューファイルにaddsubview、alloc initで両方を追加します。

私は自分のやり方でやりましたが、CurrentView にサブビューを追加することはできましたが、デリゲート関数が正しく機能していないことが問題でした。また、tableviewControllerがUIViewControllerまたはUIViewまたはUITableViewを継承する必要があることについて混乱しています。

誰かがそれに関連するリンクを案内したり送信したりできればいいのですが、例は...???

4

1 に答える 1

0

デリゲートがどこかに保持されていない場合、実際にはアプリがクラッシュするはずです。

オブジェクトをView ControllerにリンクしてInterface Builderのデリゲートにする場合、View Controllerはアウトレットの後に破棄されるため、気にしません。デリゲート用に別のクラスを作成する場合は、そのライフサイクルに注意する必要があります。標準クラスはデリゲートを保持しないため、委任されたオブジェクトを保持しているのと同じレベルで保持する必要があります。UITableViewサブビューを作成していてクラスがある場合と同様にMyTVDelegate、デリゲート インスタンスを作成し、それをtableView.delegateviewController var に割り当てて保持し、viewController が必要に応じてサブビューとそのデリゲートの両方を解放するようにする必要があります。

2 番目の質問については、ヘッダー ファイル (コマンド + をクリック) で確認できるように、UITableviewController継承し、継承します。すべてのビューコントローラーにはルートビューが必要であり、ルートビューであると私は信じています。UIViewControllerUITableviewControllerUITableViewUIViewUIViewUITableviewControllerUITableView

于 2012-09-25T08:50:21.467 に答える