我最近做了以下一些功能:
-(BOOL)registerSomethingWithParameter:(Parameter*) param
{
Something* some = nil;
if ([self checkParameter:param])
{
some = [[Something alloc] myInitCallWithParameter:param];
}
return (some ? YES : NO);
}
关于在代码中使用?
的讨论很多。你怎么看?这是告诉调用函数的正确方法,一切都运行良好而不返回对象吗?
我还想过:在myInitCallWithParameter:
- 定义中检查Something
中的有效参数是不是更好,但大多数这些类非常小并且只存储几个值。因此,在输入if。
答案 0 :(得分:2)
我认为使用时没有任何问题?而不是if / else。我看到很多程序员使用它而我自己使用它。你的代码风格很好。
答案 1 :(得分:0)
为什么不这样做:
-(BOOL)registerSomethingWithParameter:(Parameter*) param
{
return [self checkParameter:param];
}
我假设checkParamter
返回一个bool。在这种情况下,你甚至不需要这个registerSomethingWithParameter
函数,因为它只是创建了一个在任何地方都没有使用的局部变量?除非你刚才写这个作为例子。 : - )
答案 2 :(得分:0)
虽然您的方法完全可行,但更好的选择可能是简单地返回创建的对象本身;像这样:
-(id)registerSomethingWithParameter:(Parameter*) param
{
Something* some = nil;
if ([self checkParameter:param]) {
some = [[Something alloc] myInitCallWithParameter:param];
[self registerSomething:some];
}
return some;
}