私は、必要でない限りクラス変数を公開しないのが好きです。私が目にするほとんどの Objective-C コードでは、部外者が決して使用しない変数であっても、変数はプロパティとして宣言されています。
@interface DetailViewController : UIViewController {
__weak IBOutlet UILabel *name;
}
対
@interface DetailViewController : UIViewController
@property (weak, nonatomic) UILabel *name;
ソフトウェア エンジニアリングの学生として、これはカプセル化などの原則に対するかなり悪い違反であり、大規模なプロジェクトで望ましくない結合につながる可能性があると思われます。
プロパティを使用する KVC の側面は理解していますが、上記の UILabel など、明らかにクラス内でのみ使用されることを意図した変数を公開する理由はわかりません。
iOS で Objective-C を使用する場合、なぜこれが好ましい方法なのか説明してもらえますか?