我搜索了,但找不到关于此的问题。
我惊讶地发现你可以声明一个返回类型为空的方法:
- ()foo:(int)bar
{
return @"baz";
}
但是如果您不返回某些内容,编译器会抱怨。没有该行return @"baz"
,编译器会说"Control reaches end of non-void function"
。这段代码(甚至没有括号)似乎是一样的:
- foo:(int)bar
{
return @"baz";
}
这些方法是如何起作用的?方法体的返回是否暗示了返回类型?我假设有一个没有任何返回类型的方法是一个语法错误。