Arrays 下标编译器错误的不明确使用
下面的函数用于ELCImagePicker拾取多个图像,我将代码添加到其中,该代码在安装Parse SDK后可能会突然运行,并给出错误 下标用法不明确 在这一行代码中:Arrays 下标编译器错误的不明确使用,arrays,swift,swift3,Arrays,Swift,Swift3,下面的函数用于ELCImagePicker拾取多个图像,我将代码添加到其中,该代码在安装Parse SDK后可能会突然运行,并给出错误 下标用法不明确 在这一行代码中: if let image = item[UIImagePickerControllerOriginalImage] as? UIImage 代码: 您需要告诉编译器项的类型,所以不要将info数组强制转换为[AnyObject]类型,而是将其强制转换为[[String:Any]] 请在寄出前先通知我。这一点以前已经讨论过很多次
if let image = item[UIImagePickerControllerOriginalImage] as? UIImage
代码:
您需要告诉编译器项的类型,所以不要将info数组强制转换为[AnyObject]类型,而是将其强制转换为[[String:Any]]
请在寄出前先通知我。这一点以前已经讨论过很多次了。@Nirva D-很好,它起作用了,但你知道为什么它突然出现,以前没有发生过-我只是想了解一下,从Swift 3开始,你需要在使用它之前告诉编译器它的类型,你正在使用Swift 3,是吗?是的,但是直到一小时前它还在工作,20分钟前这个错误appeard@rania在Swift 3中,它是否工作?或者您正在从Swift 2.3迁移到Swift 3?不,我没有迁移,我一直在使用Swift 3-我只安装了Parse SDK,出现了此错误
func elcImagePickerController(_ picker: ELCImagePickerController!, didFinishPickingMediaWithInfo info: [Any]!) {
self.dismiss(animated: true, completion: nil)
var i = 0
var z = 0
var imageViews = [Any]() // array of any object used to save the selected imagesviews to it so we can display it on the viewcontroller
for item in info as [AnyObject]
{
z += 0 //we used z = +0 as the arrays always starts at index 0 not 1
i += 1 //we used another var i += 1 as UIImagePickerControllerOriginalImage starts at 1
if let image = item[UIImagePickerControllerOriginalImage] as? UIImage
{
imagearray.insert(image, at: z) // array of images to be used in "Saved" function below to save the images selected to core data
image_view = UIImageView(image: image)
let currentImageView = UIImageView(frame: CGRect(x: 130 + (i * 10), y: 50 + (i * 5), width: 50, height: 100))
currentImageView.contentMode = .scaleAspectFit
currentImageView.image = image_view.image
imageViews.append(currentImageView)
}
}
var y = 0
var imageview: AnyObject
for _ in imageViews as [Any] {
imageview = imageViews[y] as AnyObject
view.addSubview(imageview as! UIView)
y += 1
}
}
if let imagesArray = info as? [[String:Any]] {
for item in imagesArray {
if let image = item[UIImagePickerControllerOriginalImage] as? UIImage {
//Access image instance
}
}
}