Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Singleton release method produces warning?

You need to declare it oneway.

- (oneway void) release {}

oneway is a keyword used with distributed objects to indicate that the call can be made asynchronously. Since the NSObject header uses it when it declares the release method, you must also use it. It won't affect your program unless you use distributed objects, but it will satisfy the compiler.


In NSObject.h, the definition of the release method returns a oneway void.

The oneway keyword is used for distributed objects.

Since Xcode4.2 and LLVM, checkings are more strong and if it was accepted by previous versions of Xcode or by gcc, you now need to add this oneway keyword so that the LLVM compiler stops warning about this.

-(oneway void) release { /* do nothing */ }

This won't have any incident on your code.