アプリ用のマスター/ディテール コントローラーがあります。マスター コントローラーは UITabBarController で、各タブはさまざまな種類のデータを含む UITableViewController です。
メインの詳細ビューにメインのヘッダー/画像を配置する予定ですが、使用しているタブに応じて特定の情報を詳細に表示するために、メインの詳細ビューにさまざまなサブビューを追加する必要があります。
現在、関連するサブビューを私の
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
次のように機能します。
UIViewController *subview = [[UIViewController alloc] initWithNibName:@"ItemNotFoundViewController" bundle:nil];
subview.view.frame = CGRectMake(20, 160, subview.view.frame.size.width, subview.view.frame.size.height);
[self.detailViewController.view addSubview:subview.view];
ただし、これは不適切な方法だと思います。誰かがテーブル セルをクリックするたびに、以前に追加されたサブビューのスタックの上に別のサブビューがスローされ、メモリの問題が発生します。
私が疑問に思っているのは、ARC がこれを処理してくれるのでしょうか? 私のアプローチはまずまずですか?たとえそれがまずまずだとしても、これを行うためのより良い方法はありますか?