2013-09-29 10 views
7

मुझे लगता है कि यह काम आसानी से काम करता है, हालांकि मुझे समझ में नहीं आ रहा है कि मेरी एनएसएमयूटेबल डिक्शनरी संपत्ति क्यों काम नहीं कर रही है।स्प्राइट किट आईओएस 7 - एसकेएनओडी उपयोगकर्ता डेटा गुण मूल्यों को संग्रहीत नहीं कर रहा है

[self.testSprite.userData setValue:@"CAT" forKey:@"key"]; 
NSLog(@"%@", [self.testSprite.userData objectForKey:@"key"]); 
NSLog(@"%lu", [self.testSprite.userData count]); 

मैं (शून्य) और 0.

वहाँ spriteNode userdata प्रयोग करने के लिए एक विशेष चाल है retuning रहा हूँ?

धन्यवाद

उत्तर

20

UserData संपत्ति शुरू में नहीं के बराबर है। आपको एक शब्दकोश बनाना होगा और इसे पहले असाइन करना होगा:

self.testSprite.userData = [NSMutableDictionary dictionary]; 

[self.testSprite.userData setValue:@"CAT" forKey:@"key"]; 
NSLog(@"%@", [self.testSprite.userData objectForKey:@"key"]); 
NSLog(@"%lu", [self.testSprite.userData count]); 
+2

यह लगभग मुझे मार डाला ... धन्यवाद! एक शून्य पर वाल्यू सेट करने का प्रयास क्यों एक चेतावनी/त्रुटि फेंक नहीं है मेरे बाहर है। – Scooter

+0

लॉल यह पागल है! धन्यवाद – mikemike396

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