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相同的键!=相同的哈希;)