如果我以这种方式在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。有人知道为什么吗?

最佳答案

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

尝试这样:

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

10-08 14:52