2016-05-01 14 views
1

ユーザーが自分のアプリケーションでFacebookのログインを行うと、dateOfBirth、emailなどの期待値の一部がゼロになることがあります。 self.fbResponse.emailの値をNSNull()に設定したい場合は、それをnilにします。私はサーバーにパラメータを投稿することができます。文字列がnilの場合は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 
     ] 
+0

キーを省略できませんでしたか?それが 'nil'の場合、または空文字列を送りますか? – vadian

答えて

6

あなたはそのため??演算子を使用することができます:それはnilないが、そうでない場合はNSNull()を割り当てる場合

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

それはself.fbResponse.emailの開封された値を割り当てます。

オペレータ「短絡」は、右側がnilであるために実際に必要でない限り、ではないと評価されます。

+0

ありがとう、それは問題を解決しました。 –

関連する問題