单例释放方法产生警告?

在我的单例释放方法中,我没有做任何事情:

-(void) release { //A whole lot of nothing. } 

但是它会产生这样的警告:

警告:在“释放”实现中,在返回types上发生冲突的分布式对象修饰符

我search了一下,看到其他人有同样的错误,但没有解释警告。 任何人都知道警告是关于什么?

你需要oneway宣布。

 - (oneway void) release {} 

oneway是与分布式对象一起使用的关键字,表示可以asynchronous地进行调用。 由于NSObject头在声明release方法时使用它,所以还必须使用它。 它不会影响你的程序,除非你使用分布式对象,但它会满足编译器。

在NSObject.h中, release方法的定义返回一个oneway void

oneway关键字用于分布式对象。

由于Xcode4.2和LLVM,检查更加强大,如果它被以前版本的Xcode或gcc所接受,您现在需要添加这个oneway关键字,以便LLVM编译器停止对此的警告。

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

这不会在你的代码中发生任何事件。