2011-06-09 47 views
8

聲明,實施和使用的方法是這樣的:如何解釋這個Objective C方法聲明「 - method:parameter;」

Test.h:

- method:parameter; 

Test.m:

- method:parameter{ 
    return nil; 
} 

使用:

[test method:anObject]; 

沒有回報類型和參數類型,但它沒有任何警告或錯誤。 有人可以解釋嗎?

+0

返回類型爲void返回值爲零! – 2011-06-09 06:11:50

+1

@ViTo Brothers Apoyan,實際上不是,如果沒有指定,它就是'id'。 – 2011-06-09 06:23:36

回答

12

由於Objective-C Programming Language document狀態:

如果退貨或參數類型不明確聲明,它認爲是對的方法和消息的默認類型 - 一個id

所以:

- method:parameter; 

實際上意味着:

- (id)method:(id)parameter; 

,並相應:

- method:parameter{ 
    return nil; 
} 

實際上意味着:

- (id)method:(id)parameter{ 
    return nil; 
} 
3

Obj-C中的默認類型是id。所以這裏的返回和參數是id