Tuesday 15 March 2011

cocoa touch - Initializing an NSDisctionary dynamically -


होट्यूप मैं एक NSMutableDictionary यहां एक विधि checkNull के साथ उपयोग करने की कोशिश कर रहा हूं जो कि कुछ डिफ़ॉल्ट मानों के साथ शब्दकोश को प्रारंभ करता है, यदि यह सेट नहीं है। हालांकि, आईओएस सिम्युलेटर को के लिए -loop में पहली मुठभेड़ पर क्रैश हो जाता है।

त्रुटि संदेश:

  बिना किसी अपवाद के कारण ऐप निरस्त करना '   

संहिता:

  + (शून्य) चेक नल {if ([ [सेल्फ डिफॉल्ट] valueForKey: @ "चैनल"] == शून्य) {NSNumber * defaultValue = [एनएसएनम्बर नंबर विथबुल्स: हाँ]; NSMutableDictionary * चैनल = [[NSMutableDictionary alloc] init]; ([स्व चैनल लिस्ट में] NSString * चैनल के लिए) {[चैनल सेट ऑब्जेक्ट: [डिफ़ॉल्ट के लिए मूलाय कन्वर्ट करें] के लिए: चैनल]; } [[स्वयं चूक] सेट वैल्यू: चैनल के लिए की: @ "चैनल"]; }}   

[स्वयं चूक] रिटर्न [NSUserDefaults StandardDefaults] , जबकि [self channelsList] रिटर्न लगभग 10 NSString वस्तुओं के साथ एक NSArray

मैं गलत कहां रहा हूँ? अग्रिम में धन्यवाद

एनएसएनम्बर अयोग्य कूटशब्द का जवाब नहीं देता।

आप क्यों कोशिश कर रहे हैं, वैसे भी? वे प्रभावी रूप से सिंगलटन ऑब्जेक्ट हैं (वास्तव में कम संख्या के लिए वे सचमुच अकेले हैं)।

इसके अलावा, आपको अब और भी एनओएसएनम्बर में BOOL चालू करने की आवश्यकता नहीं है, वहीं आप प्रयोग कर सकते हैं। < पूर्व> + (शून्य) चेकअल्ल {अगर ([[स्वयं चूक] मान फोरेकी: @ "चैनल"] == शून्य) {NSMutableDictionary * चैनल = [[एनएसएमयूटीएबलएडीओ आबंट] इनिट]; के लिए ([आत्म चैनल सूची में] NSString * चैनल) {[चैनल सेट ऑब्जेक्ट: @ हाँ, के लिए: चैनल]; } [[स्वयं चूक] सेट वैल्यू: चैनल के लिए की: @ "चैनल"]; }}

No comments:

Post a Comment