使用BOOL变量的init方法的Cocoa样式指南?

时间:2011-11-09 10:57:15

标签: iphone objective-c ios

我有一个以bool值开头的数据类:

- (id)initWithBool:(BOOL)hasSomeValue anotherVariable:(var type)var ...

但是在XCode中实例化时这是不可读的,因为" hasSomeValue"自动完成时不会显示。

-(id)initWithHasSomeValue:(BOOL)hasSomeValue anotherVariable:(var type)var ...

也相当笨重。我已经做了一些搜索,但似乎无法找到Apple推荐的规格。

编辑:指向Apple的一个例子非常有帮助。我仍然没有设法找到一个。

3 个答案:

答案 0 :(得分:2)

你真的想要一些能告诉你BOOL实际代表什么的东西

- (id)initWithBool:(BOOL)hasSomeValue ...
- (id)initWithHasSomeValue:(BOOL)hasSomeValue ...

可与

相媲美
- (id)initWithString:(NSString*)string ...

如果您发起BOOL(显然是无意义的话),除了[NSNumber numberWithBool:]

答案 1 :(得分:1)

一般来说,参数的名称应该描述它的语义,“bool”实际上并没有这样做。例如。 “initWithName:”优于“initWithString:”。

更一般地说,你有一个数据类,它接受一个布尔值作为它的第一个参数?也许你需要重新考虑它为什么会存在?

答案 2 :(得分:0)

您是否已将自定义init方法添加到头文件中?

虽然它会编译(带有警告)并且运行正常,但是自定义init方法只有在头文件中出现时才会显示为自动完成。