पर लौटने वाला int मैं उद्देश्य-सी के लिए नया हूं और मुझे आश्चर्य है कि यह विधि क्यों संकलित करती है, क्या कोई मुझे बता सकता है क्यों?उद्देश्य-सी: बूल विधि
धन्यवाद
-(BOOL) isEnabled{
return 56;
}
पर लौटने वाला int मैं उद्देश्य-सी के लिए नया हूं और मुझे आश्चर्य है कि यह विधि क्यों संकलित करती है, क्या कोई मुझे बता सकता है क्यों?उद्देश्य-सी: बूल विधि
धन्यवाद
-(BOOL) isEnabled{
return 56;
}
ऑब्जेक्टिव-सी में एक BOOL
नहीं है signed char
है। चूंकि उस प्रकार फिट बैठता है, इसलिए शाब्दिक int
से अंतर्निहित रूपांतरण में कोई डेटा हानि नहीं होती है।
ज़िलान, यह भी ध्यान दें कि यदि यह 'YES' या' NO' मान पर निर्भर करता है तो यह कोड तोड़ सकता है। जैसे 'अगर ([self isEnabled] == हाँ]' if ([self isEnabled]) 'विफल होगा,' – Joe
हाँ, यही कारण है कि सामान्य कोडिंग शैली उन स्थिरांक के मुकाबले तुलना करने से बचाती है, और केवल उन्हें असाइनमेंट के लिए उपयोग करती है। –
आपको वास्तव में यह आलेख देखना चाहिए: http://weblog.bignerdranch.com/564-bools-sharp-corners/ –
आप के रूप
false === 0 === nil //Anything that is zero or nil is false
true = !false //Anything that is NOT zero or nil is true.
56 उद्देश्य-सी में एक BOOL के बारे में सोच सकते हैं इसलिए सच रिटर्न क्योंकि यह शून्य
नहीं, यह नहीं है। उद्देश्य-सी में एक बूल एक 'हस्ताक्षरित चार' है। –
मेरी "परिभाषा" थोड़ा भ्रामक था, मैंने संशोधित किया है। –
आपका संपादन अभी भी गलत है। –
एक अंतर्निहित कलाकार है - अंतिम पंक्ति प्रभावी ढंग से है: 'वापसी (बूल) 56;'। –
मुझे पता था कि आप उससे पूछेंगे। – dan