2011-01-21 13 views
7

"int" मान NSMutableArray या NSMutableDictionary में आप कैसे स्टोर करते हैं? JSON डेटा के साथ पुरानी समस्याएं जो पूर्णांक के रूप में आती हैं।आप एनएसएमयूटेबलएरे * या एनएसएमयूटेबल डिक्शनरी * में "int" मानों को कैसे स्टोर करते हैं? JSON डेटा के साथ पुरानी समस्याएं जो पूर्णांक के रूप में आती हैं।

क्या मुझे इन पूर्णांक को NSNumber ऑब्जेक्ट्स के रूप में स्टोर करने की कोशिश करनी चाहिए या केवल तारों के रूप में पूर्णांक होना चाहिए?

कैसे खतरनाक अगर मैं जानता हूँ कि मूल्यों हमेशा प्राकृतिक संख्या हो जाएगा यह एक "कच्चे" (int) संकेत पर रूपांतरण करना है (संख्या> = 0 शून्य शून्य के लिए भी शामिल है।)

पूर्णांकों मैं एम हमेशा डेटाबेस के साथ विदेशी कुंजी आईडी के साथ काम कर रहे हैं।

उत्तर

22

उपयोग NSNumber:

[myMutableArray addObject:@(2 + 3)]; 

:

int yourInt = 5; 
[myMutableArray addObject:[NSNumber numberWithInt:yourInt]]; 

या आधुनिक उद्देश्य सी सिंटैक्स का उपयोग, आप भाव के लिए निम्नलिखित का उपयोग कर सकते या अकेले नंबरों के लिए:

[myMutableArray addObject:@5]; 
4

उपयोग NSNumber वस्तुओं इस तरह (का उपयोग करते हुए जैसे [NSNumber numberWithInt:value])

2

आपको NSNumber का उपयोग करने की आवश्यकता है, जैसा कि अन्य ने कहा है, या संख्या के स्ट्रिंग प्रतिनिधित्व के साथ NSString का उपयोग करें। यह वास्तव में कोई फर्क नहीं पड़ता, लेकिन NSNumber अधिक कुशल होगा।

आप सिर्फ एक int में नहीं फेंक कर सकते हैं, यह एक सूचक के रूप में व्याख्या की जा करते हैं, और फिर इसे वापस डाली जिस तरह से बाहर पर। इसका कारण यह है कि ऑब्जेक्ट (int को पॉइंटर के रूप में व्याख्या किया जाएगा) retain संदेश को सरणी में जोड़े जाने पर भेजा जाएगा, और यह निश्चित रूप से एक क्रैश का कारण बन जाएगा क्योंकि यह एक अमान्य सूचक होगा।

2

तुम भी उपयोग कर सकते हैं:

[myDict setObject:[NSNumber numberWithInt:anInteger] forKey:@"MyInteger"]; 
0

इस

NSMutableArray * मान = [NSMutableArray alloc] की तरह मूल्य जोड़ सकते हैं init];

[मूल्य addObject: [NSNumber numberWithInt: 23]];