NSMutableDictionary removeObjectForKey奇怪的行为

时间:2014-10-30 11:22:05

标签: ios objective-c nsstring nsdictionary

如果我以NSMutableDictionary这样设置对象:

NSString* idFriend = @"Superman";
[reqWaitDictionary setObject:[NSNumber numberWithBool:YES] forKey:idFriend];

当我尝试将其删除时,它不起作用:

[reqWaitDictionary removeObjectForKey:idFriend];

为了让它起作用,我必须以这种方式设置NSMutableDictionary

[reqWaitDictionary setObject:[NSNumber numberWithBool:YES] forKey:[NSString stringWithFormat:@"%@",idFriend]];

对我而言,这很奇怪,因为idFriend已经是NSString。谁知道为什么?

1 个答案:

答案 0 :(得分:1)

如果您正确声明,两者都可以正常工作。声明类型只有不同。

试试这样:

[reqWaitDictionary setObject:idFriend forKey:@"someKey"];