-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 は nil です。以下の再利用可能なメソッドをプロジェクト ユーティリティに追加します。

-(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 に答える