分号在Objective-C实现文件中的方法名后面

- (void) designImageViewNow; { //some code here } 

分号是否正确; 紧接在实现文件objective-c中的方括号前面。

这会工作吗?

当我在iPhone应用程序上工作时,我错误地将方法名称放在我的自定义类中的一个分号后面。 但没有警告或任何崩溃。 实际上它工作正常。

是的,这是可以接受的语法。

事实上,我总是在我的实现中这样做,因为从接口复制和粘贴方法定义到实现方法是相当简单的,反之亦然,而不必记住你的位置。 这有助于我在单独的行上使用alignment的括号。

Wil Shipley 对此表示赞同 :

以分号结束方法实现中的定义行,以便在更改时根据需要将它们复制到或从头文件(或文件顶部的“私有”类别)中复制粘贴。 在“接口”部分中需要使用分号,但不要伤害“实现”部分中的任何内容。

在语法上可以在这里放一个分号。 它没有任何目的,不鼓励这样做。 一些编译器给出了这个额外分号的警告。

是的,它将工作和编译XCode没有副作用。 我从头文件中复制方法声明时通常会意外地看到它,尽pipe我不build议有目的地将它们添加到方法的末尾。

是的,它将工作,但分号是不正确的,但它不会实际上导致任何崩溃。

参考链接在这里

“一个类的方法和C函数一样,在一对括号中定义,在括号之前,它们的声明方式与接口文件中的相同,但是没有分号。

代码应该尽可能干净和简单。
这不仅会增加代码的垃圾,还会混淆人们(像我一样),他们现在不得不花时间去看看这是否是一种有效的做法。

我不确定这是什么时候推出的,但当你这样做的时候会有新的警告提出来。

警告-分号前法体