开发者

Semicolon after the method name in Objective-C implementation file

- (v开发者_如何学Gooid) designImageViewNow; {

//some code here

}

Is it correct to write semicolon ; just after the method name before body brackets in the implementation file objective-c.

Would this work?

As I am working on an iPhone app, I put the semicolon after the method name in one of my custom class by mistakenly. But there was no warning or any crash. In fact it is working fine.


Yes, it is acceptable syntax to do this.

In fact, I always do this in my implementations, because it then is trivial to copy and paste a method definition from interface to implementation and vice versa without having to remember where you are. It helps that I use aligned brackets on separate lines, as well.

Wil Shipley agrees with me on this:

End the definition lines on your method implementations with a semicolon, so you can copy-n-paste them to or from your header (or the "Private" category at the top of your file) as needed when they change. Semicolons are required in the "interface" section, but don't hurt anything in the "implementation" section.


Grammatically it is OK to put a semicolon there. It serves no purpose, and it is discouraged to do that. Some compilers give warnings about this extra semicolon.


Yes it will work and compile with no side effects in XCode. I see it commonly done accidentally when copying the method declaration from the header, though I wouldn't recommend adding them to the end of methods purposefully.


Yes it will work, but the semi-colon is incorrect, however it won't actually cause any crashes.

Reference link here

"Methods for a class are defined, like C functions, within a pair of braces. Before the braces, they’re declared in the same manner as in the interface file, but without the semicolon."


Code should be as clean and simple as possible.
Not only does this add litter to the code but confuses people (like me) who now have to spend the time to see if it is a valid practice.


I'm not sure when this was introduced, but there is a new warning raised when you do this.

warn-semicolon-before-method-body

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜