検索しましたが、これに関する質問は見つかりませんでした。
戻り値の型が空のメソッドを宣言できることに驚きました。
- ()foo:(int)bar
{
return @"baz";
}
ただし、何かを返さないとコンパイラが文句を言います。行がないreturn @"baz"
場合、コンパイラは"Control reaches end of non-void function"
. このコード (かっこなしでも) は同じようです。
- foo:(int)bar
{
return @"baz";
}
この種の方法はどのように機能するのでしょうか? 戻り値の型は、メソッド本体の戻りによって暗示されていますか? 戻り値の型のないメソッドがあると構文エラーになると思いました。