2010-02-23 21 views
14

के रूप में पूर्णांक के साथ NSDictionary बनाता हूं, जब भी मैं NSDictionary में ऑब्जेक्ट के रूप में पूर्णांक सेट करने का प्रयास करता हूं तो प्रोग्राम किसी संदेश के बिना क्रैश होता है (कंसोल में कुछ भी नहीं)। इस कोड में क्या गलत है? : NSNumber बजाय कच्चे int कीऐप क्रैश होता है जब मैं ऑब्जेक्ट

NSString *string = @"foo"; 
int number = 1; 

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: 
         string, @"bla1", number, @"bla2",nil]; 

उत्तर

39

उपयोग:

आधुनिक ऑब्जेक्टिव-सी:

NSString *string = @"foo"; 
NSNumber *number = @1; 

NSDictionary *params = @{@"bla1": string, @"bla2": number}; 

पुरानी शैली:

NSString *string = @"foo"; 
NSNumber *number = [NSNumber numberWithInt:1]; 

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: 
        string, @"bla1", number, @"bla2",nil]; 
+0

धन्यवाद कि काम किया! – Flocked

+2

आप कोको संग्रह कक्षाओं में केवल ऑब्जेक्टिव-सी ऑब्जेक्ट्स स्टोर कर सकते हैं, आप आदिम प्रकारों को स्टोर नहीं कर सकते हैं। –

4

एक शब्दकोश आप वस्तुओं को स्टोर करने के लिए है में, int, char आदि जैसे प्राथमिक प्रकार नहीं ..

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