Ho giocato con Swift. Ho avuto più errori con i tipi, specialmente lavorando con Swift e le mie vecchie classi Objective-C. Il problema con questo metodo è: mi aspetto un array fatto di NSDictionarys in Objective-C.Come assegnare un dizionario a AnyObject in swift
var curArr:[Dictionary<String, AnyObject>] = self.getItemsForCurrentStack()
var arrToReturn:[(Dictionary<String, AnyObject?>)] = []
for obj in curArr{
arrToReturn.append(["image": UIImage(named: obj["imageName"] as! String), "color": UIColor(red:obj["colorDic"]!["red"] as! CGFloat, green:obj["colorDic"]!["green"] as! CGFloat, blue:obj["colorDic"]!["blue"] as! CGFloat, alpha:1.0), "percentage": obj["percantage"]])
}
return arrToReturn
Restituisce Dizionari (che sono NSDiction) in Swift. Ma l'ultima riga mi genera un errore:
Dictionary' is not identical to 'AnyObject'
Ho provato con as! [AnyObject]
Ma che genera un altro errore:
'AnyObject' is not a subtype of 'Dictionary'
non ottengo il secondo errore, dal momento che questo non deve essere un sottotipo, ma viceversa. Qualche idea su come risolvere questo? Non ho trovato risposta per diverse ore di googleing e ricerca.
var arrToReturn: [String: ANYOBJECT] = [] o var arrToReturn: [ANYOBJECT] = [] se si vuole restituire un array di AnyObjects –