पर एनएसआईएनटेगर बनाम 64-बिट आर्किटेक्चर बनाम तो, मैं यह पता लगाने की कोशिश कर रहा हूं कि मुझे एनएसआईएनटेगर बनाम int के बारे में कितना ख्याल रखना चाहिए। मेरे पास सीएस डिग्री नहीं है, इसलिए इनमें से बहुत से प्रकार के रूपांतरण तर्क बहुत अस्पष्ट हैं। जैसा कि मैं सबसे अच्छा कह सकता हूं, तर्क है "आईओएस में int के बजाय एनएसआईएनटेगर का उपयोग करें ताकि आखिरकार जब 64-बिट आईओएस निकल जाए, तो आपके चर एक पॉइंटर को स्टोर करने के लिए अभी भी सही आकार होंगे।" काफी उचित। सिवाय इसके कि मैं अपने स्याही में पॉइंटर्स को लगभग कभी नहीं संग्रहीत कर रहा हूं।आईएसओ
मान लीजिए कि मेरे पास जैक के लिए दिए गए जादू सेम की गिनती है, और एक और चीज एक बिल्ली को त्वचा के तरीकों की संख्या को संग्रहित करती है, और मैं उन्हें कार्यों के बीच गुजर रहा हूं और उन्हें कोर डेटा और जो भी लिख रहा हूं, और तो ऐप्पल 64-बिट आईओएस जारी करता है - क्या परिवर्तन? मुझे परवाह क्यों है?
इसके अलावा, अगर मैं देखभाल करते हैं, क्यों है न कि NSInteger बजाय int32_t का उपयोग कर के लिए एक तर्क? ऐसा लगता है कि है कि चीजों को अनुमान लगाने योग्य रखने का तरीका होगा।
बिल्ली की त्वचा के तरीकों की संख्या 32 बिट्स से अधिक आसानी से हो सकती है। बिल्ली, यहां तक कि 64 बिट्स पर्याप्त नहीं हो सकते ;-) ;-) ;-) – dasblinkenlight
मैंने कभी भी एनएसआईएनटेगर के बिंदु को नहीं समझा है ... अब अगर यह एनएसओब्जेक्ट (एनएसएनंबर की तरह) था तो मैं इसे समझ सकता था ... व्यक्तिगत रूप से मैं कभी भी एनएसआईएनटेगर का उपयोग नहीं करता क्योंकि यह मेरी क्रॉस-प्लेटफार्म संगतता को नुकसान पहुंचाता है ... – Goz
@dasblinkenlight - यह बिल्ली नहीं है, यह एक कुत्ता है, और यह खराब है, चमकीला नहीं है। और जब डेवलपर्स ने "int" और "छोटा" छोड़ा और फिर व्याख्या के लिए "लंबा" छोड़ा तो सी के विकास में बहुत जल्दी किया गया। और पुनरावृत्ति। और पुनरावृत्ति। और ... इसे सीधा करने का हर प्रयास एक और पूच का दुरुपयोग करने लगता है। जैसा कि मैं इसे समझता हूं, उद्देश्य-सी/कोको लोगों ने एनएसआईएनटेगर का आविष्कार किया ताकि वे अन्य प्रकार की किस्मों से स्वतंत्र, उस प्रकार के आकार को नियंत्रित कर सकें, ताकि उनकी घोषित इंटरफेस को अन्य परिभाषाओं को बदलने के लिए हानिरहित रखा जा सके (या इसके विपरीत) –