2016-03-26 14 views
2

Projem iyi çalışıyordu ve simülatör kullanılıyorsa hala iyi çalışıyor. Ama bir iPhone bağlayın ve deneyin ve projeyi çalıştırdığınızda bu hatayı alıyorum: Bu satırda JSON bilgisi alınırken "simge ait Belirsiz kullanım":"Altyazının belirsiz kullanımı" Yeni Swift güncellemesinden sonra hata

let channels = jsonResult["channels"]?[0] as? [String: AnyObject] 

Herhangi bir yardım bu durumu düzeltmek için takdir edilmektedir!

cevap

1

Derleyici daha fazla kısıtlayıcı gibi görünüyor.

jsonResult["channels"] sonuç türü AnyObject şeklindedir, bir dizi olma değerini kontrol ederek derleyiciye yardımcı olmanız gerekir.

if let channels = jsonResult["channels"] as? [AnyObject], channel = channels[0] as? [String: AnyObject] { 
    // do something with channel 
} 

Ya hala daha güvenli Bu harika çalıştı

if let channels = jsonResult["channels"] as? [[String:AnyObject]] where !channels.isEmpty { 
    let channel = channels[0] // now the compiler knows it's [String:AnyObject] 
    // do something with channel 
} 
+0

dizisi boş olup olmadığını da kontrol edin. Yardım ettiğin için teşekkür ederim! – SwiftyJD

İlgili konular