我正在尝试使用此库进行幻灯片放映
https://github.com/zvonicek/ImageSlideshow
所以我正在进行查询,我带了一些图片,我将它们附加到这里
var sliderArray = [UIImage]()
var testimg:UIImage!
let idaki = recipeObj.objectId
let pointer2 = PFObject(outDataWithClassName:"Recipes", objectId: idaki!)
let galquery = PFQuery(className:"sliderRecipes")
galquery.whereKey("recipe", equalTo: pointer2)
galquery.findObjectsInBackgroundWithBlock {
(objects: [PFObject]?, error: NSError?) -> Void in
if error == nil {
// The find succeeded.
print("Successfully retrieved \(objects!.count) scores.")
// Do something with the found objects
if let objects = objects {
for object in objects {
count += 1
let glrimg = object["sliderImage"] as! PFFile
glrimg.getDataInBackgroundWithBlock {
(imageData3: NSData?, error: NSError?) -> Void in
if error == nil {
if let imageData2 = imageData3 {
self.testimg = UIImage(data:imageData2)
print(self.testimg)
print(self.sliderArray)
self.sliderArray.append(UIImage(data:imageData2)!)
}
if count == objects.count { print(self.sliderArray) }
}
}
// print("test")
// print(self.sliderPinakas)
}
}
} else {
// Log details of the failure
print("Error: \(error!) \(error!.userInfo)")
}
毕竟这不是我有一个带图像的阵列。在上面的打印中,它首先显示empty
数组,然后显示UI图像的打印件,我想将它们显示为滑块
slideshow.setImageInputs([ImageSource(image: UIImage(named: "myImage"))!, ImageSource(image: UIImage(named: "myImage2"))!])
但不是必须使用名称,UIImage(named: "myImage"))!
我想这样做
self.slider.setImageInputs([ImageSource(image: self.testimg)])
对于阵列的所有图像,导致上面的行只显示一个。 有人可以提供帮助吗? 谢谢!
答案 0 :(得分:1)
您已传递给self.slider.setImageInputs
所有对象的数组ImageSource [ImageSource(image: self.testimg1), ImageSource(image: self.testimg2), ...]
等,而不仅仅是一个对象[ImageSource(image:self.testimg)]。
如果添加如下图像:
self.slider.setImageInputs([ImageSource(image: self.testimg)])
self.slider.setImageInputs([ImageSource(image: self.testimg2)])
你只需用第二张图片替换第一张图片。
创建新数组,枚举来自sliderArray
的所有图像,并将它们附加到数组ImageSource(image:self.testimg1)对象。
另外请记住,你必须从阻止glrimg.getDataInBackgroundWithBlock
中调用它!
在for
之前添加
var count = 0
并添加内部块
count +=1
if count == objects.count {
print(self.sliderArray)
}.
当所有对象完成加载时它们将打印数组(它们可以以混乱的顺序加载)。