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