Как преобразовать переменную типа Любой объект в строку, если эта переменная содержит ноль в iOS? - PullRequest
0 голосов
/ 13 октября 2018

Проблема в том, что когда я хочу преобразовать пользовательскую переменную в строку, она говорит: unable to read data.Это может быть потому, что пользовательский объект содержит ноль.

Ответ:

SUCCESS: {
    data =     {
        user =         {
            email = "<null>";
            firstName = "<null>";
        };

        //... 
    };
    message = "";
    messageCode = "API_200";
} 

Код:

if let responseDict = response["data"] as? [String : AnyObject] {

    if let user = responseDict["user"] {
       if let userString = user as? String
       {
          var itIsExtracted = true;
       }
    }
}

1 Ответ

0 голосов
/ 13 октября 2018

Я вижу, что ваш user -объект объявлен как Any.Попробуйте установить его в качестве словаря.

guard let responseDict = response["data"] as? [String : Any],
    let user = responseDict["user"] as? [String : Any] else {
        // There is no user
        return
}

if let userEmail = user["email"] as? String {
    print(userEmail)
    // Can be a result as "<null>" because of server result
}
if let firstName = user["firstName"] as? String {
    print(firstName)
    // Can be a result as "<null>" because of server result
}

Я также могу добавить то, что сказал @Vadian.Обвините владельца веб-сайта в отправке реальных нулевых значений, а не строковых нулей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...