聲明,實施和使用的方法是這樣的:如何解釋這個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