2016-07-13 4 views
1

私はSQL Server 2014からデータを取得するWebサービスを持っています。 データベーステーブルにはヌル入力可能な性別列があります。JSONによるnull値のbool値を迅速に取得します。 AnyObjectをキャストしますか?

戻り値はJSONです。

let gender: Bool? = json["gender"] as! Bool? 

しかし、次のコードgender == false

が実行されています:

if gender == true { 
    self.genderSelection.selectedSegmentIndex = 0 
} else if gender == false { 
    self.genderSelection.selectedSegmentIndex = 1 
} 

と性別

私の問題は、私はそれが私が試しただけでなく としてnullだ際に知っておく必要があり、私のiOSアプリケーションであります!= nilは常にtrueです(使用できませんでした)

JSONの戻り値は、次のいずれかです。

  • { "性別":真}
  • { "性別":偽}
  • { "性別":ヌル}

文が男女場合は無視されるならば、私は全体をしたいですSQL Serverデータベースではnullです。

P .:データベースとWebサービスは私のものではなく、返されたデータ型と値を変更することも、性別列のデータ型を変更することもできません。

P.P.S .: json ["gender"]データ型はAnyObjectですか?これは明らかですが、言及することを傷つけることはありません。

すべてのヘルプは高く評価され

答えて

0

私はいくつかの調査の結果、JSONは「true」と等しくない値にfalseを設定しています。 3つのオプション(この場合)を持つには、文字列または整数のようなbool以外のものを返す必要があります。

0

次のコードのみが実行される場合は、他の何でもnilを返すJSON [「性別」]。あなたの場合はその真実か偽か。

if let gender = json["gender"] as! Bool{ 
    if gender == true { 
    self.genderSelection.selectedSegmentIndex = 0 
    } else if gender == false { 
    self.genderSelection.selectedSegmentIndex = 1 
    } 
} 
+0

gender == trueおよびgender == falseは、「タイプ 'AnyObjectの値を変換できませんか?予想される引数型 'Bool'に " –

+0

私の更新を確認してください。 – Nakib

+0

いいえ、nullサーバからの答えはfalse文を実行させます。 :|あなたの最初の答えの後、私はこれを試しましたが、私はあなたの新しい答えをコピーして、もう一度試してみました。 –

関連する問題