2013-09-29 10 views
7

Myślę, że ta praca działa łatwo, jednak nie mogę zrozumieć, dlaczego moja właściwość NSMutableDictionary nie działa tak, jak bym się spodziewał.Zestaw Sprite iOS7 - Właściwość UserNata SKNode nie przechowująca wartości

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

ja przestrajania (null) i 0.

istnieje specjalny trik za pomocą UserData spriteNode?

Dzięki

Odpowiedz

20

Właściwość userData jest początkowo zerowa. Musisz utworzyć słownik i najpierw go przypisać:

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

To prawie zabiło mnie ... dzięki! Dlaczego próba ustawienia wartości zerowej nie rzuca ostrzeżenia/błędu jest poza mną. – Scooter

+0

Lol to jest szalone! Dziękuję Ci – mikemike396

Powiązane problemy