我尝试将我的项目从Swift更新到Swift 2,但以下代码出现错误:

let PhotoController = UIImagePickerController()
        PhotoController.delegate = self
        PhotoController.sourceType = UIImagePickerControllerSourceType.Camera

        let mediaTypes:[AnyObject] = [kUTTypeImage]

        PhotoController.mediaTypes = mediaTypes

        PhotoController.allowsEditing  = false

        self.presentViewController(PhotoController, animated: true, completion: nil)

在下一行:
PhotoController.mediaTypes = mediaTypes

编译器指示此错误:



你能帮我吗 ?
非常感谢 !

最佳答案

如果您确定该数组的类型为[String],则可以强制转换:

PhotoController.mediaTypes = mediaTypes as! [String]

否则,我建议使用flatMap和每个对象的单独可选强制转换:
PhotoController.mediaTypes = mediaTypes.flatMap{ $0 as? String }

关于swift2 - 无法将 '[AnyObject]'类型的值分配给 '[String]'类型的值Swift 2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32285344/

10-14 20:50