2016-04-12 9 views
0

Ich versuche NSDictionary in zu verwenden, und ich stehe vor dem oben genannten Problem. Ich habe ein Wörterbuch mit folgendem Format:Argumenttyp 'AnyObject' entspricht nicht dem erwarteten Typ NSCopying

let xyz: NSMutableDictionary = ["1":[1,2,3,4,"1","n","1","2"],"2":[1,2,3,4,"+","o","6","2"]] 

Ich möchte Schlüssel im Wörterbuch iterieren und das sechste Element des Arrays zu extrahieren. Ich habe folgendes versucht; aber entsprechen nicht mit etwas Glück:

for keys in dictKeyMutableDict { 
    let xCentVal = xyz[keys as! [NSCopying]][6] 
} 

Ich halte auf einen Index Fehler zu erhalten und wenn ich as! [NSCopying] entfernen, erhalte ich den obigen Fehler. Weiß jemand, wie man mit solch einem Fall umgeht?

+1

was Sie mit 'NSCopying' zu erreichen versuchen? –

Antwort

0

Entfernen Sie NSMutableDictionary und machen Sie es veränderbar durch make it a var. Jetzt können Sie die as! [NSCopying]

var xyz = ["1":[1,2,3,4,"1","n","1","2"],"2":[1,2,3,4,"+","o","6","2"]] 

for keys in dictKeyMutableDict { 
    let xCentVal = xyz[keys]![6] 
} 

Oder besser optional unwrap entfernen es:

for keys in dictKeyMutableDict { 
    if let v = xyz[keys] { 
     let xCentVal = v[6] 
    } 
} 
+0

Ich muss NSMutableDictionary verwenden, da ich es an Objective C übergeben werde, um es zu lesen. Es kann anscheinend nur NSDictionary lesen. – Nasiba

Verwandte Themen