【发布时间】:2019-04-05 04:27:38
【问题描述】:
在下面函数的第 3 行,我收到以下错误:
无法在当前上下文中推断闭包类型
我该如何解决这个问题?
func fetchAllUsersImages() {
print("inside func")
self.ref.child("Posts").child(self.userID).child(self.postNum).observe(.childAdded, with: { snapshot in //error here
var images: [URL] = []
if let snapShotValue = snapshot.value as? [String: String] {
for (_, value) in snapShotValue {
if let imageURL = URL(string: value) {
print(imageURL, "image url here")
let imageAsData = try Data(contentsOf: imageURL)
let image = UIImage(data: imageAsData)
let ImageObject = Image()
ImageObject.image = image
self.arrayOfImgObj.append(ImageObject)
self.tableView.reloadData()
}
}
}
})
}
【问题讨论】:
-
我不确定您所说的更改内容是什么意思...是哪一个?以及您所指的其他帖子,我看不出我该如何应用它
-
let imageAsData = try Data(contentsOf: imageURL) 似乎是出于某些原因@George_E
-
我确实做到了 { let imageAsData = try Data(contentsOf: imageURL) let image = UIImage(data: imageAsData) let ImageObject = Image() ImageObject.image = image self.arrayOfImgObj.append(ImageObject) } catch { print("imageURL was not able to be convert to data") } 它作为答案提供,我检查它
-
我使用了该评论并解释了为什么它不起作用 - 这是一个非常常见的错误,这很容易做到。可悲的是 Swift 没有得到最有用的错误......例如,由于同样的问题,我有一个值为
"too ambiguous"的错误,只是因为它无法检测到我没有do-try-catch.
标签: ios swift firebase firebase-realtime-database