2013-09-29 18 views
7

私はこの作業が簡単だと思いますが、NSMutableDictionaryプロパティが期待通りに機能しない理由を理解できません。スプライトキットiOS7 - SKNode UserDataプロパティに値が格納されていない

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

私は(null)を再同調午前0

はspriteNodeのユーザデータを使用するための特別なトリックはありますか?

ありがとう

答えて

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]); 
+2

これはほとんど私を殺しました...ありがとう!なぜsetValueをnilにしても警告/エラーが出ることはありません。 – Scooter

+0

LOLこれはクレイジーです!ありがとうございました – mikemike396

関連する問題