Apple 的 Objective-C 文档、参考资料和生成的代码似乎与他们的编码风格完全不一致。我无法确定 Objective-C 和 Cocoa 源代码的“首选”样式(如果存在)。
这是我到目前为止遇到的。
标签设置
Xcode 的默认设置是选项卡。但是,无论您的选项卡设置如何,生成的项目始终创建有 4 个空格。更糟糕的是,一些生成的代码有杂散的标签。下载的代码示例似乎也因项目而异。
方法定义间距
在 Apple 的示例代码中,不同风格的方法定义甚至在单个文件中也有所不同。但最常见的间距样式似乎在-
or+
和仅加法参数之间的空格之间包含空格。Xcode 参考库中也使用了这种风格,这让我相信它是首选风格。
- (IBAction)reloadData:(id)sender;
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
不一致的变量:
- (IBAction) reloadData:(id)sender;
- (IBAction)reloadData:(id) sender;
-(IBAction)reloadData:(id)sender;
- (IBAction) reloadData: (id)sender;
- (id)tableView: (NSTableView *)aTableView objectValueForTableColumn: (NSTableColumn *)aTableColumn row: (NSInteger)rowIndex
大括号样式
另一件广泛不一致的事情是大括号样式。流行的款式有两种:
在自己的行上打开大括号:
@interface Foo : NSObject
{
}
- (id)init
{
}
在方法声明的同一行打开大括号:
@interface Foo : NSObject {
}
- (id)init {
}
问题
Apple 是否有推荐的 Objective-C 编码风格?如果不是,你喜欢什么风格,为什么?