いくつかのラベル、テーブルビュー、およびその他のいくつかのビットを含むUIViewサブクラスがあります。現在、テーブルビューのデリゲートおよびデータソースであり、多くのUIアクションを管理しますが、いずれもデータに依存していません。たとえば、「編集」ボタンを押すと、コントロールを更新する方法はわかりますが、「保存」を押すと、コントロールを前の状態に戻す以外に何もしません。これはすべてコードで行われ、このアプリケーションではIBをまったく使用していません。
私は今、それが引き起こす可能性のあるすべてのデータモデルの変更を詳しく説明したいと思います。しかし、これらを新しいコントローラークラスに入れたいと思います。これは、MVCに準拠した方法だと思います。どうやってそこに着くのかわかりません。
まず、カスタムコントローラークラスを作成する必要があります。ビューコントローラがそれらにアクセスできるように、UIViewサブクラスからいくつかのコントロールを公開する必要がありますか?たとえば、ビューのテキストフィールドの読み取りと書き込みが必要になるので、これにゲッター/セッターを提供する必要がありますか?
次に、テーブルビュー-UIViewがデリゲートである代わりに、これも公開して、ビューコントローラをデリゲートにする必要がありますか?つまり、view.tableView.delegate = UIViewControllerからの自己?
そして最後に、別のビューからビューを起動するにはどうすればよいですか?具体的には、これは天気アプリに似たページスクロールビューアプリケーションであるため、単一のページスクロールビューを指定し、ページごとに1つずつ複数のカスタムUIViewを追加するmainViewUIViewがあります。[scrollView addSubview:myCustomView]を置き換えて、代わりにviewControllerを追加するにはどうすればよいですか?また、ビューをコントローラーに接続するにはどうすればよいですか。その逆も同様です。
私はこれまでIBなしでこれらすべてを試したことがないので、助けてくれてありがとう。