私のxcodeアプリでは、以前は次のように設定していました。
メインディスプレイ->エピソードの表ビュー->エピソードの詳細ビュー
ユーザーがUITableViewでエピソードを選択すると、詳細ビューが読み込まれました。次に、詳細ビューは、対応するファイルのダウンロードなど、いくつかの新しい機能を提供しました。このダウンロードは、ユーザーが詳細ビューのボタンを押したときに作成および開始したヘルパークラスを介して処理されましたが、すべて正常に機能しました。
しかし、詳細ビューには実際にはあまり多くの新しい情報がなかったので、私はそれをすべてテーブルビューのセルに取り込むことを試み始めました。これで、ユーザーがセルをクリックすると、セルの高さが拡大し、追加情報が表示されます。
だから私の質問はこれです。ファイルをダウンロードするなど、詳細ビューから呼び出すために使用したメソッドをどのように処理しますか?
たとえば、関連ファイルをダウンロードするために使用していた関数は次のとおりです。
- (IBAction)downloadTheFile:(id)sender {
self.downloadProgress.hidden = false;
self.downloadButton.hidden=true;
[self.myEpisodeDownloader getFileFromURL:[self.currentEpisode epFileURL] withIndicator:[self downloadProgress]];
}
それを新しいメソッドに取り入れようとすると、何を渡すのか、どのようにさまざまなものにアクセスするのかについて混乱します。基本的に、「詳細ビュー」を失うことで、私はすべてのコンテナを失いました。私の関数では、「自己」を使用してさまざまなものを取得および変更していることがわかります。これで、コンテナの代わりに、cellForRowAtIndexPathのインスタンスが何かを実行しようとしています。
私はすべてをダウンロード機能に渡すという道を歩み始めましたが、それは悪臭を放ち始めました。デリゲートを試す必要がありますか?中級クラス?あきらめて、古い方法に戻りますか?