2011-10-21 5 views
19

मैं लूप के लिए उपयोग कर [NSDecimalNumber numberWithInt:i] को सरणी में जोड़ना चाहता हूं।लूप के लिए उपयोग करते हुए एनएसएआरएआरई में ऑब्जेक्ट्स कैसे जोड़ें?

यह hardcoded है:

NSArray *customTickLocations = [NSArray arrayWithObjects: [NSDecimalNumber numberWithInt:1],[NSDecimalNumber numberWithInt:2],[NSDecimalNumber numberWithInt:3],[NSDecimalNumber numberWithInt:4],[NSDecimalNumber numberWithInt:5],[NSDecimalNumber numberWithInt:6],[NSDecimalNumber numberWithInt:7],[NSDecimalNumber numberWithInt:8],[NSDecimalNumber numberWithInt:9],[NSDecimalNumber numberWithInt:10],[NSDecimalNumber numberWithInt:11],[NSDecimalNumber numberWithInt:12],nil]; 

मैं इस तरह चाहते हैं, लेकिन मैं केवल एक वस्तु यहां जोड़ सकते हैं ....

for (int i=0; i<totalImagesOnXaxis; i++) 
{ 
    customTickLocations = [NSArray arrayWithObject:[NSDecimalNumber numberWithInt:i]]; 
} 

कृपया मुझे इस से बाहर करने में मदद, अग्रिम में धन्यवाद , मदन

+0

आपको सरणी की आवश्यकता क्यों है? ऐसा लगता है कि इंडेक्स 'i' पर सरणी में मान हमेशा 'i' है। – raymi

उत्तर

40

NSArray है अपरिवर्तनीय। उत्परिवर्तनीय संस्करण का उपयोग करें, एनएसएमयूटेबलएरे

20
NSMutableArray * customTickLocations = [NSMutableArray new]; 
for (int idx = 0; idx < 12; ++idx) { 
    [customTickLocations addObject:[NSDecimalNumber numberWithInt:idx]]; 
} 

... 
5
NSMutableArray *customTickLocations = [NSMutableArray array]; 
for (int i=0; i<totalImagesOnXaxis; i++) 
{ 
    [customTickLocations addObject:[NSDecimalNumber numberWithInt:i]]; 
} 

NSMutableArray वर्ग ऑब्जेक्ट कि वस्तुओं की एक परिवर्तनीय सरणी का प्रबंधन करने के कार्यक्रम इंटरफ़ेस की घोषणा की। इस वर्ग के बुनियादी सरणी से निपटने व्यवहार NSArray से विरासत में मिला के लिए प्रविष्टि और हटाने के बाद कहते हैं

NSMutableArray Class Reference

5
NSMutableArray * customTickLocations = [[NSMutableArray alloc] init]; 
for(int i = 0; i<WhateverNoYouWant;i++){ 
NSDecimalNumber * x = [NSDecimalNumber numberWithInt:i] 
[customTickLocations addObject:x] 

    } 
9

आप चलाने के समय में जोड़ने या हटाने के वस्तुओं आप के लिए है NSArray.For को रन टाइम पर वस्तुओं को नहीं जोड़ सकते एनएसएमयूटेबलएरे का प्रयोग करें।

NSMutableArray *mutableArray=[[NSMutableArray alloc] init]; 
for (int i=0; i<10; i++) { 
    [mutableArray addObject:[NSDecimalNumber numberWithInt:i]]; 
} 
4

मैंने पाया कि इस तकनीक का इस्तेमाल एक शानदार तरीका आसानी से, इस सवाल का जवाब मैं जब मैं इस सूत्र के लिए आया था के लिए देख रहा था तो यह पोस्टिंग कर रहा हूँ के रूप में यह एक है था एक NSArray के लिए कुछ और तत्वों को जोड़ने के लिए है महान आसान जोड़।

मैं इस तरह

currentArray = [currentArray arrayByAddingObjectsFromArray: newArray]; 
1

NSArray ऐड वस्तु मेरे वर्तमान सरणी के लिए एक नई सरणी जोड़ना चाहते हैं: मुझे लगता है NSArray नहीं कर सकते addObjectNSMutableArray तरह

NSArray *arr = @["1","2","3","4"]; 

। आपको इसे आजमाएं:

NSMutableArray *mulArr = [NSMutableArray new]; 
[mulArr addObject:[NSDecimalNumber numberWithInt:number]];