iphone - Creating Objects & Setting iVars in a Loop? -


  NSArray * ग्रहअरेरे = [NSArray arrayWithObjects: @ "पृथ्वी", @ "बृहस्पति", @ "शनि", @ "नेपच्यून", @ "प्लूटो", शून्य]; NSMutableArray * objectArray = [[NSMutableArray alloc] init]; के लिए (NSString * ग्रह ग्रह में प्रत्येक Planet) {ग्रह * newPlanet = [[ग्रह एलोक] init]; [NewPlanet सेट वैल्यू: प्रत्येक के लिए PlanetKey: @ "नाम"]; [NewPlanet सेट वैल्यू: @ "टेस्ट" के लिए की: @ "प्रकार"]; [NewPlanet सेट वैल्यू: [एनएसएनएम नंबर संख्या के साथ: 1234] के लिए की: @ "जन"]; [ऑब्जेक्टअरेऑड ऑब्जेक्ट: न्यूप्लेनेट]; [न्यूपलेट रिलीज]; } के लिए (प्लैनेट * डिस्प्लेइज़ेलअबैरनेट ऑब्जेक्टअरेरे) {एनएसएलॉग (@ "डेटा:% @", डिस्प्लेएचप्लानेट); } [ऑब्जेक्ट अर्रे रिलीज़];  

मैं उत्सुक हूँ अगर यह एक ऑब्जेक्ट बनाने का सबसे अच्छा तरीका है और एक सरणी में प्रत्येक आइटम के लिए iVar सेट करता है। मूल रूप से मैं हूं:

  1. एक ग्रह वस्तु बनाना
  2. iVar (NSString सरणी से) सेट करना
  3. एक सरणी में ग्रह ऑब्जेक्ट को जोड़ना। <
  4. प्लैनेट ऑब्जेक्ट को रिहा करना

  5. मेरी प्लैनेट ऑब्जेक्ट्स प्रिंटिंग

  6. सरणी को रिहा करना

  7. P>

NB: मैं सिर्फ परीक्षण कर रहा हूँ, यह कुछ भी नहीं है, मैं सिर्फ उत्सुक था ...

cheers गैरी

इस तरह से ऐसा करने में काफी कुछ गलत नहीं देख सकता। एक सुझाव के लिए आपके ग्रह वर्ग के लिए एक विस्तारित प्रारंभिक होना होगा:

  - (ग्रह *) initWithName: (NSString *) नाम और प्रकार: (NSString *) प्रकार के साथ मास: (पूर्णांक) बड़े पैमाने पर;  

और उसके बाद ग्रह बनाएं:

  ग्रह * newPlanet = [[ग्रह एलोक] initWithName: eachPlanet और टाइप करें: @ "टेस्ट" के साथ मेस: 42] ;  

Comments