I would think this work work easily, however I cannot understand why my NSMutableDictionary property is not working as I would have expected.
[self.testSprite.userData setValue:@"CAT" forKey:@"key"];
NSLog(@"%@", [self.testSprite.userData objectForKey:@"key"]);
NSLog(@"%lu", [self.testSprite.userData count]);
I am retuning (null) and 0.
Is there a special trick for using the spriteNode userdata ?
Thanks
The userData property is initially nil. You have to create a dictionary and assign it first:
self.testSprite.userData = [NSMutableDictionary dictionary];
[self.testSprite.userData setValue:@"CAT" forKey:@"key"];
NSLog(@"%@", [self.testSprite.userData objectForKey:@"key"]);
NSLog(@"%lu", [self.testSprite.userData count]);
来源:https://stackoverflow.com/questions/19073199/sprite-kit-ios7-sknode-userdata-property-not-storing-values