除非需要,否则我喜欢不公开类变量。在我看到的大多数objective-c代码中,变量被声明为属性,即使它们永远不会被外人使用。
@interface DetailViewController : UIViewController {
__weak IBOutlet UILabel *name;
}
对比
@interface DetailViewController : UIViewController
@property (weak, nonatomic) UILabel *name;
作为一名软件工程专业的学生,在我看来,这严重违反了封装等原则,并可能导致大型项目中出现不必要的耦合。
我确实了解使用属性的 KVC 方面,但不明白为什么要公开显然只打算在类内部使用的变量,例如上面的 UILabel。
有人可以解释为什么这是在 iOS 上使用 Objective-C 时的首选方式吗?