Sprite Kit iOS7 - SKNode UserData属性不存储值

Dog*_*fee 7 sprite nsmutablearray user-data sprite-kit

我认为这项工作很容易,但我无法理解为什么我的NSMutableDictionary属性不能像我预期的那样工作.

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

我重新调整(null)和0.

有没有使用spriteNode userdata的特殊技巧?

谢谢

Lea*_*s2D 20

userData属性最初为nil.您必须先创建一个字典并分配它:

self.testSprite.userData = [NSMutableDictionary dictionary];

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

  • 这几乎杀了我......谢谢!为什么尝试将setValue设置为nil不会引发警告/错误超出我的范围. (2认同)