Установите 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
,