NSLog(@"1");
NSArray *obj= [NSArray arrayWithObjects:appDel.token, nil];
NSLog(@"2");
NSArray *key= [NSArray arrayWithObjects:@"Token", nil];
NSLog(@"3");
NSDictionary *d= [[NSDictionary alloc] initWithObjects:obj forKeys:key];
NSLog(@"4");
DoSomething();
NSLog(@"5");
需要上述代码的帮助。我似乎在@"4"
上崩溃了(它没有打印4)。
Xcode的错误:
'Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: ' -[NSDictionary initWithObjects:forKeys:]: count of objects (0) differs from count of keys (1)'
任何善良的灵魂都能指引我朝着正确的方向前进?它用来工作直到我升级到Xcode 5 :(
答案 0 :(得分:1)
我非常确定NSLog(@"%@", appDel.token);
会显示(null)
,因为您的令牌是nil
。确认appDel.token
不是nil
,并且您不会收到该错误。
希望这会有所帮助。
答案 1 :(得分:0)
你的appDel.token是零。在项目实用程序中添加以下可重用方法。
-(BOOL)isObjectEmpty:(id)object
{
return object == nil || ([object respondsToSelector:@selector(length)] && [(NSData *)object length] == 0) || ([object respondsToSelector:@selector(count)] && [(NSArray *)object count] == 0);
}