gpt4 book ai didi

ios - 尝试使用 Swift 从解析加载图像时出现 fatal error

转载 作者:行者123 更新时间:2023-11-30 14:17:47 26 4
gpt4 key购买 nike

我收到一个 fatal error :在解包可选值时意外发现 nil。在代码从此代码到达 self.imageArray.append(image!) 后,我收到此错误:

func retrieveImages()
{
var query = PFQuery(className: "Maps")
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]?, error: NSError?) -> Void in
if error == nil && objects != nil {
let objects = objects as! [PFObject]
for object in objects {
let imageFile = object["imageFile"] as! PFFile
imageFile.getDataInBackgroundWithBlock {
(imageData: NSData?, error: NSError?) -> Void in
if error == nil {
if imageData != nil {
let imageData:NSData! = imageData
let image = UIImage(data: imageData)
self.imageArray.append(image!)
}
}
}
}
}
}
}

我已经检查了每一行代码,并且图像不会变为 nil,直到我尝试将其附加到 imageArray 的末尾。

最佳答案

就像前面提到的,您正在重新分配很多变量。尝试对可选变量使用 if-let 语句,如下所示:

func retrieveImages(){
var query = PFQuery(className: "Maps")
query.findObjectsInBackgroundWithBlock { (objects: [AnyObject]?, error: NSError?) in
if let objects = objects as? [PFObject] where error == nil {
for object in objects {
if let imageFile = object["imageFile"] as? PFFile {
imageFile.getDataInBackgroundWithBlock { (imageData: NSData?, error: NSError?) in
if let imageData = imageData, let image = UIImage(data: imageData) {
self.imageArray.append(image)
}
}
}
}
}
}

}

关于ios - 尝试使用 Swift 从解析加载图像时出现 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30917115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com