0

在重新访问一些似乎适用于 Xcode7.3 的代码后,我注意到我得到了一个无法将类型“Swift._NativeDictionaryStorageOwner”(0x40c2134)的值转换为“NSArray”(0x383bb8d8)。

userdata.data = userOtherInfo[indexPath.row] 如!NSArray

这是似乎是问题的代码部分:

    func collectionView(collectionView: UICollectionView,        didSelectItemAtIndexPath indexPath: NSIndexPath) {

    let userdata:SubContentsViewController! = SubContentsViewController()
    let storyboard = UIStoryboard(name: "SubContentsViewController", bundle: nil)
    let subContentsVC = storyboard.instantiateViewControllerWithIdentifier("SubContentsViewController") as! SubContentsViewController
    userdata.data = userOtherInfo[indexPath.row] as! NSArray
    self.navigationController?.pushViewController(subContentsVC, animated: true)
}
4

2 回答 2

0

这个解决方案对我来说很好。让 mutableDict = NSMutableDictionary(字典:newDictionaryResult!)

于 2018-08-25T12:09:51.410 回答
0

正如你在评论中所写

rows = value["search_result"] as? [[String: AnyObject]]
self.userOtherInfo = rows

rows / userOtherInfo是关于成功的字典( )数组。 这就是错误消息所说的:[[String: AnyObject]]

无法将字典转换为数组。

解决方案非常非常简单。

由于编译器已经知道它userOtherInfo包含一个数组,[String: AnyObject]因此您根本不需要强制转换。

userdata.data = userOtherInfo[indexPath.row] // object is [String:AnyObject]

确保将userdata.data其声明为[String:AnyObject]或更具体的字典。

于 2016-04-20T09:24:23.473 回答