2011-06-09 10 views
8

घोषणा, लागू करने और इस तरह विधि का उपयोग कर:इस उद्देश्य सी विधि घोषणा को कैसे समझाएं "- विधि: पैरामीटर;"

Test.h:

- method:parameter; 

Test.m:

- method:parameter{ 
    return nil; 
} 

का उपयोग करना:

[test method:anObject]; 

कोई वापसी नहीं है -प्रकार और पैरामीटर-प्रकार, लेकिन यह बिना किसी चेतावनी या त्रुटि के काम करता है। क्या कोई इसे समझा सकता है?

+0

वापसी का प्रकार शून्य है वापसी मूल्य शून्य है! –

+1

@ वीटो ब्रदर्स अपॉयन, वास्तव में नहीं, अगर यह अनिर्दिष्ट है तो यह 'id' है। –

उत्तर

12

Objective-C Programming Language document राज्यों के रूप में: - एक id

वापसी या पैरामीटर प्रकार स्पष्ट रूप से घोषित नहीं है, तो यह तरीकों और संदेशों के लिए डिफ़ॉल्ट प्रकार माना है।

तो:

- method:parameter; 

प्रभावी ढंग से मतलब है:

- (id)method:(id)parameter; 

और, तदनुसार:

- method:parameter{ 
    return nil; 
} 

प्रभावी ढंग से मतलब है:

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

ओब्जे-सी में डिफ़ॉल्ट प्रकार id है। तो यहां दोनों वापसी और पैरामीटर id है।

4

The Objective-C Programming Language से:

वापसी या पैरामीटर प्रकार स्पष्ट रूप से घोषित नहीं है, तो यह मान लिया है तरीकों और संदेशों-एक id के लिए डिफ़ॉल्ट प्रकार हो।

संबंधित मुद्दे