2013-01-31 34 views
-2

我与对象阵列A,B,A,A,B与键1,2,3,4,5没有采取重复的NSDictionary字符

但作为一个重复的NSDictionary未服用“A “2次,并给出错误说

-[NSDictionary initWithObjects:forKeys:]: count of objects (1) differs from count of keys (0)' 

因此,whats这

我的代码的解决方案:

Ar=[[NSArray alloc]initWithObjects:A,A,A,A,A,nil]; 
Ar2=[[NSArray alloc]initWithObjects:1,2,3,4,5,nil]; 
    dic2=[[NSMutableDictionary alloc]initWithObjects:Ar forKeys:Ar2]; 
+0

发布您的密码设置对象的代码.. –

+0

显然你错过了一个对象或一个关键。 –

+0

代码plz ...你到目前为止尝试过什么 – madLokesh

回答

1

请尝试以下代码SN IP

NSMutableDictionary *data = [[NSMutableDictionary alloc]init]; 
[data setValue:@"A" forKey:@"1"]; 
[data setValue:@"B" forKey:@"2"]; 
[data setValue:@"A" forKey:@"3"]; 
[data setValue:@"A" forKey:@"4"]; 
[data setValue:@"B" forKey:@"5"]; 
1

使用新的语法,使代码的可读性和可避免在大多数情况下

NSDictionary *data = @{@"1" : @"A", @"2" : @"B", @"3" : @"A", @"4" : @"A", @"5" : @"B"}; 
+0

即使使用旧的initWithObjectsAndKeys也会有所帮助。 –

+0

可读性完全没有提高。旧的显式语法只有更长的时间,不会更少可读。 – Sulthan

0

它应该是这样那样的问题。

NSArray *Ar=[[NSArray alloc]initWithObjects:@"A",@"A",@"A",@"A",@"A",nil]; 
NSArray *Ar2=[[NSArray alloc]initWithObjects:@1,@2,@3,@4,@5,nil]; 
NSMutableDictionary *dic2=[[NSMutableDictionary alloc]initWithObjects:Ar forKeys:Ar2]; 

最好的问候。