声明,实施和使用的方法是这样的:如何解释这个Objective C方法声明“ - method:parameter;”
Test.h:
- method:parameter;
Test.m:
- method:parameter{
return nil;
}
使用:
[test method:anObject];
没有回报类型和参数类型,但它没有任何警告或错误。 有人可以解释吗?
声明,实施和使用的方法是这样的:如何解释这个Objective C方法声明“ - method:parameter;”
Test.h:
- method:parameter;
Test.m:
- method:parameter{
return nil;
}
使用:
[test method:anObject];
没有回报类型和参数类型,但它没有任何警告或错误。 有人可以解释吗?
由于Objective-C Programming Language document状态:
如果退货或参数类型不明确声明,它认为是对的方法和消息的默认类型 - 一个
id
。
所以:
- method:parameter;
实际上意味着:
- (id)method:(id)parameter;
,并相应:
- method:parameter{
return nil;
}
实际上意味着:
- (id)method:(id)parameter{
return nil;
}
Obj-C中的默认类型是id
。所以这里的返回和参数是id
。
从The Objective-C Programming Language:
如果退货或参数类型不是 明确声明,它认为 是方法和 消息-的
id
的默认类型。
返回类型为void返回值为零! – 2011-06-09 06:11:50
@ViTo Brothers Apoyan,实际上不是,如果没有指定,它就是'id'。 – 2011-06-09 06:23:36