关于nsmutablearray:Sprite Kit iOS7-SKNode UserData属性不存储值

Sprite Kit iOS7 - SKNode UserData property not storing values

我认为这项工作很容易,但是我无法理解为什么我的NSMutableDictionary属性无法按预期工作。

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

我正在调整(null)和0。

使用spriteNode userdata有一个特殊的技巧吗?

谢谢


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

1
2
3
4
5
self.testSprite.userData = [NSMutableDictionary dictionary];

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