我想知道哪个地方最适合放置故事板中的IBOutlets:
a)在头文件(.h)中
b)在.m文件上创建的类扩展中
谢谢
问候
发布于 2015-05-13 19:43:13
您必须记住,.h是一个公共标头。
所以把你的IBOutlet
放在那里,如果它们应该被其他类访问的话。
然而,即使你能做到这一点。我要说的是,在公共标头中公开IBOutlet
不是一个好的做法(从面向对象的角度来看),因为您正在公开一些实现细节,这些细节应该只对关心的人可见。
简而言之,将IBOutlet
放在.m
的类扩展中是一种很好的做法。
发布于 2015-05-13 19:42:50
来自苹果的Resource Programming Guide: Nib Files
出口通常被认为是定义类的私有属性;除非有理由公开该属性,否则应将属性声明隐藏为类扩展。
发布于 2015-05-13 19:42:34
如果你不想公开这个出口,那么类扩展是最好的地方。您的.h
应该整洁干净,并且应该只包含那些公共的方法或属性(可供其他程序员使用)。这样,您就不会因为在.h
文件中没有不必要的ivars和方法减速而使您的队友感到困惑
这一切都是为了管理代码,减少混淆,否则Objective-C中就没有私有方法/属性了
此外,如果你检查任何苹果样本,它们都遵循相同的模式。例如,LoadingStatus.m有代码
#import "LoadingStatus.h"
@interface LoadingStatus ()
@property (nonatomic, strong) UIActivityIndicatorView *progress;
@property (nonatomic, strong) UILabel *loadingLabel;
@end
https://stackoverflow.com/questions/30213677
复制相似问题