के बजाय मैं इस + (NSArray *)ids
की तरह एक अपरिवर्तनीय सरणी लेकिन इस विधि के अंदर मैं एक NSMutableArray
की घोषणा कर रहा हूँ क्योंकि मैं -sortUsingSelector:
का उपयोग कर इसे क्रमबद्ध करना चाहते हैं वापस जाने के लिए चाहते हैं, तो विधि।ऑब्जेक्टिव-सी वापसी NSMutableArray लौटने की घोषणा की NSArray वापसी प्रकार
इस विधि को लौटाना सही काम करता है।
लेकिन क्या यह कोड लिखने के लिए "ठीक है" है कि यह घोषणा करता है कि वापसी विधि एक प्रकार होनी चाहिए और वास्तव में एक और प्रकार है?
क्या यह काम करता है क्योंकि
NSMutableArray
NSArray
का उप-वर्ग है?वास्तविक वापसी मूल्य
NSArray
याNSMutableArray
है?
किसी भी भाषा में, एक समारोह की वास्तविक वापसी प्रकार एक परिणाम के रूप में घोषित वापसी प्रकार की एक उप-प्रकार हो सकता है [लिस्कोव प्रतिस्थापन सिद्धांत] (http://en.wikipedia.org/wiki/Liskov_substitution_principle)। – outis