数组 – 如何在swift中将Dictionary分配给AnyObject
我一直在玩
Swift.我有类型的多个错误,特别是使用Swift和我的旧Objective-C类.这个方法的问题是:我期待在Objective-C中由NSDictionarys组成的数组.
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 这将返回Swift中的Dictionaries(NSDictionaries).但最后一行引发了一个错误:
我试过用过! [AnyObject] 但是这引发了另一个错误:
我没有得到第二个错误,因为这不一定是一个子类型,反之亦然.关于如何解决这个问题的任何想法?我没有找到几个小时的谷歌和研究的答案.
Dictionary是Swift中的结构,而AnyObject是
根据您的尝试,您可能希望在代码中使用Any,或者使用NSDictionary将字典转换为NSDictionary. 澄清后编辑: 如果从字典本身拆分追加调用,则会看到更好的错误消息: 因此,问题是您的字典包含一些可选值,但Optional是一个结构,不能转换为Obj-C.你可以通过施法来修复UIImage!和AnyObject! (ImplicitlyUnwrappedOptional),或使用as!. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |