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

Hem*_*yal 2 string null ios nsnull swift

当用户在我的应用程序中登录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
        ]
Run Code Online (Sandbox Code Playgroud)

Dar*_*ust 7

您可以使用??运算符:

"email" : self.fbResponse.email ?? NSNull()
Run Code Online (Sandbox Code Playgroud)

self.fbResponse.email如果不是nil,则分配未包装的值,NSNull()否则分配.

操作员"短路",这意味着右侧不会被评估,除非它确实需要,因为左侧是nil.