2016-01-21 75 views
1

我有字典字段canServeInvalid如何檢查字典中的值?

我知道里面的值是真的。我證明這一點通過打印到控制檯print(marker.userData["canServeInvalid"])返回

Optional(true) 

但是如果我檢查它的價值這樣

if marker.userData["canServeInvalid"] != true { 

     self.window?.canServeInvalid.hidden = true 
     print("preved") 

    } 

preved印刷,但我知道里面有真實的。

我在做什麼錯?

回答

0

問題是你正在試圖比較Optional(true)true

你應該嘗試在我的情況下,使用if letguard

//if your userData is optional also 
    if let userData = marker.userData { 
     if let value = userData["canServeInvalid"] { 

      if value { 
       //do your stuff here 
      } else { 
       self.window?.canServeInvalid.hidden = true 
       print("preved") 
      } 
     } 
    } 
+0

總有一些東西里面解開一個可選的 - 真或假,它不能爲空 –

+0

@Alexeyk默認情況下,字典中的值始終是可選的:) – Breek

+0

您正確地使用默認值,這是主要問題。你的代碼不工作,xcode試圖改變「if value {」爲「if value!= nil {」 –

相關問題