在重新访问一些似乎可以与Xcode7.3一起工作的代码时,我注意到我得到了一个无法将"Swift._NativeDictionaryStorageOwner“(0x 40 c2134)类型的值强制转换为”NSArray“(0x 383 bb8 d8)的问题。
userdata.data 用户其他信息[索引路径.行]转换为!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)
}
2条答案
按热度按时间ujv3wf0j1#
正如你在评论中所写
self.userOtherInfo = rows
self.userOtherInfo = rows
个如果成功,则
rows / userOtherInfo
是字典的数组([[String: AnyObject]]
)。这就是错误消息的内容:
无法将字典强制转换为数组。
解决办法非常非常简单。
由于编译器已经知道
userOtherInfo
包含[String: AnyObject]
的数组,因此根本不需要强制转换。请确保将
userdata.data
声明为[String:AnyObject]
或更具体的字典。wlp8pajw2#
这个解决方案对我来说很好用。让mutableDict = NSMutableDictionary(字典:新词典结果!)