Общий совет, если у вас есть что-то вроде необязательного ...
struct example: Decodable {
let name: String
let nickname: String
let tag: String
}
эти три ДОЛЖНЫ быть, они не могут быть "ноль", они не могут отсутствовать в JSON .
Так что, если "псевдоним" просто отсутствует в json, он просто не будет анализироваться.
С другой стороны. Если вы сделаете это, обратите внимание на вопросительный знак:
struct example: Decodable {
let name: String
let nickname: String?
let tag: String
}
, тогда поле .nickname
может фактически быть nil
Итак, вы можете сказать что-то вроде
if blah.nickname == nil { print("no nickname in the json!") }
Вы можете сказать буквальный ответ на ваш вопрос «Как проверить, пусто ли поле XYZ», если «strResponseData.xyz == nil» ...
Но вы должны указать парсеру, что в json это может быть либо ноль (ie, json выглядит так ... "nickname": nil), либо просто отсутствует в json (просто нет поле "псевдоним" в json).
То, как вы делаете это с "?".