Установите NSNull(), если строка ноль

Когда пользователь делает логин на Facebook в моем приложении, некоторые ожидаемые значения, такие как dateOfBirth, email могут быть равны нулю. Я хочу установить значение self.fbResponse.email в NSNull(), если оно равно nil. Так что я могу опубликовать параметры на сервере.

        let parameter:[String:AnyObject] =
            [
                "facebookId":self.fbResponse.fbID!,
                "fbToken":"randomToken",
                "email" : self.fbResponse.email!,
                "dateOfBirth": self.fbResponse.dob,
                "gender" : self.fbResponse.gender!,
                "info": self.fbResponse.aboutMe!,
                "fullName":self.fbResponse.fullName!,
                "profileImageUrl":self.fbResponse.pictureURL!
                "location": location
        ]

1 ответ

Решение

Вы можете использовать ?? оператор для этого:

"email" : self.fbResponse.email ?? NSNull()

Он присваивает развернутое значение self.fbResponse.email если это не так nilи назначает NSNull() иначе.

Оператор "короткое замыкание", что означает, что правая сторона не оценивается, если это действительно не нужно, потому что левая сторона nil,

Другие вопросы по тегам