Objective c NSArray中的NSDictionary会丢失一些值
我必须修复一个已开发的应用程序,该应用程序使用Objective c NSArray中的NSDictionary会丢失一些值,objective-c,nsarray,nsdictionary,Objective C,Nsarray,Nsdictionary,我必须修复一个已开发的应用程序,该应用程序使用NSDictionary在选择特定值时显示数据。但问题是这本字典并没有显示我传递给它的所有数据 在我的情况下,每个NSArray有296个值: NSArray *departments = [aPerson.stringDepartment componentsSeparatedByString:@"--"]; // has 296 el. NSArray *blocks = [aPerson.stringBlocks componentsSepa
NSDictionary
在选择特定值时显示数据。但问题是这本字典并没有显示我传递给它的所有数据
在我的情况下,每个NSArray有296个值:
NSArray *departments = [aPerson.stringDepartment componentsSeparatedByString:@"--"]; // has 296 el.
NSArray *blocks = [aPerson.stringBlocks componentsSeparatedByString:@"--"]; // has 296 el.
我知道每个NSArray
都有296个值,因为我调试了这个应用程序,并在Xcode助手编辑器中看到了它的值
下面这句简单的话让我发疯:
self.depend = [NSDictionary dictionaryWithObjects:departments forKeys:blocks]; // has 291 el.
这只返回291个值
如何确保每个值都能在我的NSDictionary
中创建一个新的键/值?看起来块
数组有重复项NSDictionary
是一个,因此它不能包含具有相同键的两个不同值。在NSDictionary
中,键是unic。我猜块中的某些对象是重复的。确实如此!!在阅读你的答案之前,我从不认为它们会有重复的值。。。我的错。。多亏了lota,哈希表并不是天生就不能为同一个键包含多个值。请参阅您提供的链接中的“冲突解决方案”标题。@JoshCaswell相同的键!=相同的哈希;)