当用户在我的应用中登录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
]
答案 0 :(得分:7)
您可以使用??
运算符:
"email" : self.fbResponse.email ?? NSNull()
如果不是self.fbResponse.email
,则指定展开的nil
值,否则指定NSNull()
。
操作员"短路",这意味着右手边未评估,除非确实需要,因为左侧是nil
。