gpt4 book ai didi

ios - 检索多个解析图像(Swift)

转载 作者:行者123 更新时间:2023-11-28 08:46:34 25 4
gpt4 key购买 nike

下面是我通常如何从我的 Parse.com 检索图像的示例。我现在遇到了这样的情况,我想从 Parse 中检索 20 多张图像,但我正在寻找一种更有效的方法来做到这一点。请有人解释如何在代码中实现它以及我应该如何在 Parse 中存储 20 多个 PFFiles?

func loadData(){
let findDataParse = PFQuery(className: "JobListing")
findDataParse.findObjectsInBackgroundWithBlock{
(objects: [PFObject]?, error: NSError?) -> Void in
if (error == nil) {
for object in objects! {
let userImageFile = object["ImageOne"] as! PFFile
let userImageFile1 = object["ImageTwo"] as! PFFile
let userImageFile2 = object["ImageThree"] as! PFFile
userImageFile.getDataInBackgroundWithBlock {
(imageData: NSData?, error: NSError?) -> Void in
let listingImage1 = UIImage(data:imageData!)
userImageFile1.getDataInBackgroundWithBlock {
(imageData1: NSData?, error1: NSError?) -> Void in
let listingImage2 = UIImage(data:imageData1!)
userImageFile2.getDataInBackgroundWithBlock {
(imageData2: NSData?, error1: NSError?) -> Void in
let listingImage3 = UIImage(data:imageData2!)

self.flyerImageLarge1.image = listingImage1
self.flyerImageLarge2.image = listingImage2
self.flyerImageLarge3.image = listingImage3
}}}}}}}

enter image description here

最佳答案

您可以使用 ParseUI 来获得更简洁、更高效的代码。为此,请添加 ParseUI 框架。然后,单击图像并将“类”更改为 PFImageView。 You can see this here.

完成后,您可以轻松设置 PFImageView 的图像:

if let myServerImage = object.valueForKey("imageFromUser") as? PFFile {
self.myImage.file = myServerImage
self.myImage.loadInBackground()
}

其中 myServerImage 是您从 Parse 服务器检索的图像,而 myImage 是 Storyboard中的图像。

在您的情况下,它将是这样的:

func loadData(){
let findDataParse = PFQuery(className: "JobListing")
findDataParse.findObjectsInBackgroundWithBlock{
(objects: [PFObject]?, error: NSError?) -> Void in
if (error == nil) {
if let myServerImage = object.valueForKey("ImageOne") as? PFFile {
self.flyerImageLarge1.file = myServerImage
self.flyerImageLarge1.loadInBackground()
}
if let myServerImage = object.valueForKey("ImageTwo") as? PFFile {
self.flyerImageLarge2.file = myServerImage
self.flyerImageLarge2.loadInBackground()
}
if let myServerImage = object.valueForKey("ImageThree") as? PFFile {
self.flyerImageLarge3.file = myServerImage
self.flyerImageLarge3.loadInBackground()
}
}
}

我建议添加 if let 语句,这样当图像不存在时就不会出现错误。

关于ios - 检索多个解析图像(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35144305/

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