【发布时间】:2010-06-23 17:46:30
【问题描述】:
- (id)methodThatReturnsSomething
{
@同步(自我){
返回零;
}
}
当我在 Xcode 上执行此操作时,它会返回一个警告:“控制到达非无效函数的末尾”
这段代码有什么问题吗?
【问题讨论】:
当我在 Xcode 上执行此操作时,它会返回一个警告:“控制到达非无效函数的末尾”
这段代码有什么问题吗?
【问题讨论】:
由于某些编译器版本中的错误已在其他/更高版本的编译器中修复,因此它会发出编译器警告。
在这种情况下,是的,您确实偶然发现了编译器错误。
【讨论】:
发布的代码中的同步是多余的,但这样没有问题:@synchronized 块要么正常退出,要么通过异常退出。由于您已经有一个return 语句,因此不需要该块之后的另一个语句。
【讨论】:
我不明白你想在你的代码中做什么,但是
- (id)methodThatReturnsSomething
{
@synchronized(self) {
}
return nil;
}
应该具有相同的效果(推迟返回,直到与self 关联的锁被释放),没有编译器警告。
但是:你想做什么?您不必以这种方式输入@synchronized。
【讨论】: