私は iOS 開発のことを学んでおり、チュートリアルや本で見つけたのは、通常、コントローラー層がビューのコントロール (テキストフィールド、ラベルなど) に直接アクセスできることです。そのような例を考えてみましょう:
View に というラベルlblResult
と というテキストフィールドがあるとしtxtDataToAnalyze
ます。コントローラー インターフェイスよりも、次のようなものがあります。
@property (nonatomic, retain) IBOutlet UILabel* lblResult;
@property (nonatomic, retain) IBOutlet UITextField* txtDataToAnalyze;
および@synthesize
実装ファイル内のいくつかのステートメント。
私はJavaSwing開発の経験があり、GUIビルダーなしで手動で書いているとほとんどの人が考えています.MVCで通常行うことは、ゲッター/セッターを介してビューのコントロールにアクセスすることです. 例:void setResult(String resString);
またはString getDataToAnalyze();
. このように、コントローラーはビューに表示される情報のみを認識し、どのように表示されるかは認識しません。より柔軟だと思います(後でビューレイヤーを変更する方が簡単です)。
iOSにはいくつかの特定のルールがあり、XIB / NIBファイルなどが導入されていることを知っているので、iPhone / iPadの開発の場合、私の疑問はまったく役に立たないかもしれません. しかし、私は iOS 用のより本格的なアプリケーションを作成する予定です (実際には、Java Swing から「書き直します」)。
私の考え方を変えて、その新しい (私にとって) アプローチ (xib ファイル、ドラッグ & ドロップを使用して GUI を作成し、データをビューに表示する方法に関する情報をコントローラーに提供する) に慣れるべきだと思いますか?? iOS を始めたとき、同じような疑問を持ったことはありませんか?