2016-03-25 20 views
0

son Xcode güncellenmesi, ben bu kod parçası ile ilgili "Alt Simge ait Belirsiz kullanımını" oluşmasını aşağıdaki hatayı almaya başladım bu yana;Muğlak kullanımı

Bu satırda özellikle;

if let postResourceName = dict["resource_name"]![0] as! String? where !postResourceName.isEmpty { 

Ben bu hata atılan neden olan bir değişken türü etrafında detay eksikliği ile ilgilidir inanmak, Swift için oldukça yeni. Ama kodun ne olması gerektiği konusunda emin değilim.

Herhangi işaretçiler?

Selamlar, Michael

+0

Muğlak kullanımı sözlükten bir değeri her zaman olduğundan derleyici uygun türü çıkaramayacağı anlamına gelir

let dict = arrPosts[indexPath.row] as [String:[String]] 
'AnyObject ile

let dict:NSDictionary = arrPosts[indexPath.row] 

değiştirerek Sözlüğünüzde Array olduğunu belirtebilirsiniz '. 'ArrPosts' nasıl ilan edildi? Ve Swift'e yeniyseniz (yeniden), dil kılavuzunda 'İsteğe bağlı ciltleme 'hakkındaki paragrafı dikkatlice okuyun. – vadian

+0

arrPosts için başlangıç ​​değişkeni aşağıdaki gibi tanımlanmıştır; var arrPosts = [[String: AnyObject]]() –

cevap

0
isimli sen sözlüğe de sen dict["resource_name"]![0] yaptığınızda böylece içerdiği dizinin ilk öğeye erişmek istediğiniz values olarak sahip ne nesneler bilmediği için

Swift derleyici sana o hata veriyor value olarak sözlükte. Ancak, değerlerin diziler olduğunu asla söylemezsiniz, bu nedenle values'un türü AnyObject'dur. Sen

subscript ait
+0

Teşekkürler, sadece bunu denedim ve şu hatayı şimdi aynı satırda alıyorum; genel türü 'Dizi' işaret edilmesi, bu herhangi bir değişiklik olup olmadığını arrPosts için ilk değişken aşağıdaki gibi tanımlanır <...> bağımsız değişkenler gerektirir ?; var arrPosts = [[Dize: AnyObject]]() –

+0

Güncellenmiş Gereken cevabım – Jelly

+0

bir 'olarak' bu olsa bu bir çözmüştür 'olarak!' Değişen. Her zamanki gibi, diğer hataların işaretlenmesine yol açar. Şimdi bunlarla çalışma zamanı. –