Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 在icarousel中显示firebase图像_Xcode_Firebase_Firebase Realtime Database_Firebase Storage_Icarousel - Fatal编程技术网

Xcode 在icarousel中显示firebase图像

Xcode 在icarousel中显示firebase图像,xcode,firebase,firebase-realtime-database,firebase-storage,icarousel,Xcode,Firebase,Firebase Realtime Database,Firebase Storage,Icarousel,我正在使用icarousel显示firebase数据库中的图像。我有五张照片 var ImageOne = UIImage() var ImageTwo = UIImage() var ImageThree = UIImage() var ImageFour = UIImage() var ImageFive = UIImage() 我使用这段代码将firebase存储中的所有五个图像都保存到我的UIImages中 if let stringImage5 = self.imagesFive

我正在使用icarousel显示firebase数据库中的图像。我有五张照片

var ImageOne = UIImage()
var ImageTwo = UIImage()
var ImageThree = UIImage()
var ImageFour = UIImage()
var ImageFive = UIImage()
我使用这段代码将firebase存储中的所有五个图像都保存到我的UIImages中

 if let stringImage5 = self.imagesFive {
                    AppDelegate.instance().showActivityIndicator()
                    let imageRef = self.storage.reference(forURL: "gs://gsignme-14416.appspot.com/images/\(stringImage5)")

                    imageRef.data(withMaxSize: 25 * 1024 * 1024, completion: { (data, error) -> Void in
                        if error == nil {
                            AppDelegate.instance().dismissActivityIndicator()
                            self.ImageFive = UIImage(data: data!)!


                        }else {
                            print("Error downloading image:" )
                        }



                    })}
现在,我想在icarousel中显示图像,为了做到这一点,我必须将它们放入一个数组中,所以我这样做:

imageArray = [self.ImageOne, self.ImageTwo, self.ImageThree, self.ImageFour, self.ImageFive] 
现在,该功能将显示所有五个图像:

func carousel(_ carousel: iCarousel, viewForItemAt index: Int, reusing view: UIView?) -> UIView {
        var imageView: UIImageView!

        imageView.image = UIImage(imageArray = [self.ImageOne, self.ImageTwo, self.ImageThree, self.ImageFour, self.ImageFive])
        return imageView

    }

但是没有显示图像。

有很多异步的东西在进行,我假设您可能在下载图像之前创建并显示旋转木马,而不是用新图像刷新旋转木马

我将看一看Zero to应用程序,因为它解释了如何用图像异步填充列表,这基本上就是您正在做的

另外,不知道iCarousel是如何工作的,但我假设您的viewForItemAt索引需要一个图像,而不是数组的图像

let imageArray = [self.ImageOne, self.ImageTwo, self.ImageThree, self.ImageFour, self.ImageFive]
func carousel(_ carousel: iCarousel, viewForItemAt index: Int, reusing view: UIView?) -> UIView {
        var imageView: UIImageView!
        imageView.image = imageArray[index];
        return imageView
}

我忘了提到最顶端的变量var imageArray:[UIImage]=[]和imageArray=[]在我的viewdidLoad中,因此func carousel中的return imageView没有返回图像