1

Objective-Cで適切なMCVを使用すると、UIViewサブクラスは@propertysを持つことができますか?

つまり、.h ファイルで

@class MyViewSubclass;

@interface MyViewSubclass : UIView
@property (strong, nonatomic) UILabel *labelLabel;
@property (strong, nonatomic) UILabel *valueLabel;
@end

または、これは UIViewController サブクラスで行う必要がありますか?

前もって感謝します。

4

4 に答える 4

5

ビュー階層内のラベル、フィールド、画像、およびその他のビューを管理するために UIViewController をサブクラス化するのが最も一般的です。ただし、アプリケーション全体で使用される再利用可能なコンポーネント ビューを作成している場合は、UIView をサブクラス化し、サブクラスにプロパティを追加するのが適切です。

Apple の iOS アプリ プログラミング ガイドから:

ビュー コントローラー オブジェクトは、画面上のアプリのコンテンツの表示を管理します。ビュー コントローラーは、単一のビューとそのサブビューのコレクションを管理します。表示されると、View Controller はビューをアプリのウィンドウにインストールして表示します。

UIViewController クラスは、すべてのビュー コントローラー オブジェクトの基本クラスです。ビューの読み込み、表示、デバイスの回転に応じたビューの回転、およびその他の標準的なシステム動作のデフォルト機能を提供します。UIKit およびその他のフレームワークは、追加のビュー コントローラー クラスを定義して、イメージ ピッカー、タブ バー インターフェイス、ナビゲーション インターフェイスなどの標準システム インターフェイスを実装します。

http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AppArchitecture/AppArchitecture.html#//apple_ref/doc/uid/TP40007072-CH3-SW1

于 2012-05-18T19:14:58.103 に答える
3

ビューにプロパティがあるのは良いことですが、モデル ロジックをビューに混在させないでください。ビュー内のプロパティは、プロパティが保持するものではなく、プロパティがどのように見えるかを説明する必要があります。ビューに valueLabel という名前のプロパティを含めることは避けます。

ビュー プロパティ名の例は UITableViewCell です。プロパティ imageView、textLabel、detailTextLabel があります。

于 2012-05-18T19:08:33.223 に答える
1

UIViewサブクラスがプロパティを持つことは完全に合理的です。layoutSubviewsたとえば、実装するためにそれらが必要になる場合があります。

于 2012-05-18T18:57:31.650 に答える
1

また、相互作用とより優れた柔軟性を可能にする再利用可能なコンポーネントを作成したい場合は、UIControl (UIView のサブクラス) を見てください。

于 2012-05-18T19:20:33.777 に答える