如果字符串为 nil,则设置 NSNull()

Set NSNull() if the string is nil

当用户在我的应用程序中登录 facebook 时,某些预期值(例如出生日期、电子邮件)可能为零。我想将 self.fbResponse.email 的值设置为 NSNull(),如果它是 nil。这样我就可以post将参数传给服务器。

        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
        ]

您可以为此使用 ?? 运算符:

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

如果不是 nil,则分配 self.fbResponse.email 的展开值,否则分配 NSNull()

运算符 "short circuits",这意味着右侧 不会计算 除非确实需要,因为左侧是 nil .