NSNullとnilの違いを理解しておらずハマりました。 NSNull Class Reference The NSNull class defines a singleton object used to represent null values in collection objects (which don’t allow nil values). NSDictionaryやNSArrayなどにはnilが格納できないため、NSNullのインスタンス[NSNull null]を用いて無効値が表現されるようです。 [NSNull null]とnilは別物なので、nilとの比較だけ行っているとエラーが出ます。 NSDictionary *dic = 〜; NSString *text = [dic objectForKey:@"text"]; NSLog(@"text:%@",text)