これは非常に基本的な質問かもしれませんが、NSDictionary 値として nil を割り当てられないのはなぜでしょうか? コードの多くの場所に次のステートメントがあります。nil の場合[q objectForKey:@"text"]
、アプリはクラッシュしています。
NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithCapacity:2];
[dict setObject:[q objectForKey:@"text"] forKey:@"text"];
辞書に割り当てる前に、どこでも nil をチェックする必要があります。これが唯一の正しい方法ですか?明らかな何かが欠けていますか?
if([q objectForKey:@"text"] != nil)
[dict setObject:[q objectForKey:@"text"] forKey:@"text"];
else
[dict setObject:@"" forKey:@"text"];