-1
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 之前它可以正常工作 :(

4

2 回答 2

1

我最确定NSLog(@"%@", appDel.token);会显示的事实(null),因为您的令牌是nil。验证appDel.token不是nil,您将不会收到该错误。希望这可以帮助。

于 2013-09-19T09:50:41.540 回答
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);
}
于 2013-09-19T11:19:47.397 回答