2013-09-29 33 views
7

Penso che questo lavoro funzioni facilmente, tuttavia non riesco a capire perché la mia proprietà NSMutableDictionary non funzioni come mi sarei aspettato.Sprite Kit iOS7 - Proprietà SKNode UserData che non memorizza valori

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

sto risintonizzazione (null) e 0.

C'è un trucco speciale per l'utilizzo del userdata spriteNode?

Grazie

risposta

20

La proprietà userData è inizialmente pari a zero. Devi creare un dizionario e assegnarlo prima:

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

Questo quasi mi ha ucciso ... grazie! Perché provare a impostare Valore su un valore zero non genera un avviso/errore è oltre me. – Scooter

+0

Lol questo è pazzo! Grazie – mikemike396