今天写一个NSObject的继承类,实现release消息,发现了一个问题。
- (void)release
{
}
上面的函数定义语句会有Warning出现:
warning: Semantic Issue: Conflicting distributed object modifiers on return type in implementation of ‘release’
查了一下函数原型,竟然加了一个关键字oneway,即:
- (oneway void)release
{
}
Warning才会消失。
查了查资料,发现了oneway关键字的作用:
oneway
用在分布式对象的API,这些API可以在不同的线程,甚至是不同的程序。oneway
关键字只用在返回类型为void的消息定义中,因为oneway
是异步的,其消息预计不会立即返回。