Если есть NSMutableDictionary из Json данныхПроверьте ключ NSMutableDictionary равна нулю
NSMutableDictionary *returnedDict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
Я знаю, что этот ключ returnedDict[@"data"][@"weather"][day][@"tides"]
в некоторых случаях NSNull
. Так что я получаю -[NSNull objectForKeyedSubscript:]
Итак, я пробую в соответствии с этим ответом How to check if an NSDictionary or NSMutableDictionary contains a key?, чтобы проверить, нет ли он или нет.
if (returnedDict[@"data"][@"weather"][day][@"tides"]){ some code }
и
if (returnedDict[@"data"][@"weather"][day][@"tides"]!=[NSNull null]){ some code}
не избежать, чтобы запустить {код}
Как проверить это в правильном направлении?
ключ не имеет значения или значения? –
В общем, разумно иметь все, что есть в if-clause, что-то, что оценивает настоящий BOOL. Использование побочных эффектов языка (в данном случае «любое ненулевое значение считается ДА») менее целесообразно, поскольку оно может вызвать непредвиденные ложные срабатывания (например, здесь, в вашем случае), это делает ваш код немного менее понятным для другие и ваше будущее. Кроме того, с Swift в мире сейчас разумно сделать это привычкой, так как в Swift требуется, чтобы любое if-clause оценивалось Bool. – Joride
Значение представляет собой экземпляр NSNull –