我想知道键在NSDictionary中是如何工作的。通常,我会使用NSString作为密钥,例如:
NSString *stringKey = @"stringKey";
[mydict objectForKey:stringKey];
如果我想使用NSNumber怎么办:
NSNumber *numberKey = [NSNumber numberWithInt:3];
[mydict objectForKey:numberKey];
字典会去查找数字为3的键吗?或者它只会比较numberKey的地址?
发布于 2011-09-08 01:13:28
当且仅当[key1 isEqual:key2]
时,两个密钥相等。一些类可能会使用return self == other;
的-[NSObject isEqual:]
实现,但对于类(如NSString
、NSNumber
等)来说,覆盖它以进行更多特定于上下文的比较是很常见的。
发布于 2012-03-26 14:30:31
我认为它将着眼于NSNumber的价值。我使用NSNumber作为字典的键。
1.将密钥存储在view.tag中
view.tag = self getUniqueNSIntegerKey;-->获取唯一密钥并保存到view.tag
[字典setOjbect: object forKey: NSNumber numberWithInt:view.tag];//添加object
2.稍后使用view.tag检索对象
object =[字典objectForKey:NSNumber numberWithInt:view.tag];//通过view.tag获取object
它就是这样工作的……
https://stackoverflow.com/questions/7337811
复制相似问题