NSMutableArray与NSDictionary到标签没有周围的括号

时间:2011-02-26 12:09:05

标签: objective-c nsmutablearray nsdictionary

我正在为我的游戏制作记分牌。当我对数据进行NSLog时,就会出现这样的结果:

{
    name = TTY;
    score = "3.366347";
}

所以我的问题是我如何删除这个括号,并且只是获取名称(TTY)和得分(3.36没有引号)并将它们放在变量中以供我放入标签。

目前我可以将它们放在标签中,但它们会有挥之不去的花括号“{”和“}”。

任何提示都会有所帮助,因为我很乐意进一步搜索,我只是不知道搜索它的词汇。

感谢

1 个答案:

答案 0 :(得分:5)

对于NSDictionary,如果要获取值,请使用objectForKey:方法;

[scoreDictionary objectForKey:@"name"]; 

在您的情况下,该方法将返回TTY
您可以将其存储在正常变量中:

NSString *entryName = [scoreDictionary objectForKey:@"name"]; 

对于NSArray(和NSMutableArray),您使用objectAtIndex:方法;

[scoresArray objectAtIndex:0];

我猜你在NSArray中有很多NSDictionary,在这种情况下你可以将上面两种方法结合起来得到;

[[scoresArray objectAtIndex:0] objectForKey:@"name"];

将在数组的第一个字典中为您提供name的值。

此外,如果您想要访问多个键值,您可以使用;

NSDictionary *entry = [scoresArray objectAtIndex:0];
NSString *entryName = [entry objectForKey:@"name"];
NSString *entryScore = [entry objectForKey:@"score"];