2

ユーザーがアプリで facebook ログインを行うと、dateOfBirth、email などの期待される値の一部が nil になることがあります。nil の場合、self.fbResponse.email の値を NSNull() に設定したいと思います。パラメータをサーバーに投稿できるようにします。

        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
        ]
4

1 に答える 1

7

??そのために演算子を使用できます。

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

self.fbResponse.emailそうでない場合はラップされていない値をnil割り当て、そうでない場合は割り当てNSNull()ます。

演算子「短絡」は、左側が であるため、実際に必要でない限り、右側が評価されないこと意味しますnil

于 2016-05-01T09:45:00.910 に答える