2017-08-06 15 views
0

プッシュ通知を受け取り、次のように辞書を解析しようとしていますが、次の例外が発生しています。NSInvalidArgumentException、reason: ' - [NSNull isEqualToString:]

***キャッチされない例外により 'NSInvalidArgumentException'、理由にアプリを終了: - ここに

である私の受けた辞書

'[nsnullをisEqualToStringは::] 認識されていないセレクタは、インスタンス0x1a6574ef8に送られました'

enter image description here

実装

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
    if (application.applicationState == UIApplicationStateActive) 
    { 
     // exception happens the following line 
     if([[userInfo objectForKey:@"aps"] objectForKey:@"alert"] != NULL && 
      [[[userInfo objectForKey:@"aps"] objectForKey:@"alert"]isEqualToString:@"New Order!"]) 
     { 
      [[NSNotificationCenter defaultCenter] postNotificationName: @"newOrderNotificationMessage" object: [userInfo objectForKey:@"aps"]]; 
     } 
} 
+0

アラート値はnsnullをクラス –

答えて

2

あなたはこの

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
    if (application.applicationState == UIApplicationStateActive) 
    { 
     // exception happens the following line 
     if([[userInfo objectForKey:@"aps"] objectForKey:@"alert"] != NULL && [[[userInfo objectForKey:@"aps"] objectForKey:@"alert"] class] != [NSNull class]){ 
      if ([[[userInfo objectForKey:@"aps"] objectForKey:@"alert"]isEqualToString:@"New Order!"]) 
      { 
       [[NSNotificationCenter defaultCenter] postNotificationName: @"newOrderNotificationMessage" object: [userInfo objectForKey:@"aps"]]; 
      } 
     } 

    } 
} 

希望してみてください、NSNullクラスのチェックも必要この

+0

任意のアイデアであるのに役立ちますhttps://stackoverflow.com/questions/45778103/他の要素と並んで配列を配列する – hotspring

関連する問題