如何解决错误:“必须使用非零布局参数初始化UICollectionView”

时间:2018-04-08 12:28:35

标签: swift firebase

我正在尝试在一个单独的Swift文件中调用一个UICollectionView(在我的一个viewcontrollers中连接)。现在我收到错误“UICollectionView必须用非零布局参数初始化”,我不知道如何解决它。我在“let allImageCells = UICollectionView()”行中收到错误。我已经在互联网上查看,但我没有找到对我的项目有用的东西。我希望有一个人可以帮助我!提前谢谢!

P.S。我很确定我的代码效率非常低(并且可能也不行)但我尝试做的只是在Firebase中加载不同的文件夹(带图像)。

//
//  Wardrobe.swift
//  WhatToWear
//
//  Created by issd on 06/04/2018.
//  Copyright © 2018 1. All rights reserved.
//

import Foundation
import UIKit
import Firebase
import FirebaseAuth
import FirebaseDatabase
import FirebaseStorage

var dataIsLoaded = false
var allJackets = [outfitPart]()
var allSweaters = [outfitPart]()
var allTrousers = [outfitPart]()
var allShoes = [outfitPart]()

var jacketRef: DatabaseReference!
var sweaterRef: DatabaseReference!
var trousersRef: DatabaseReference!
var shoesRef: DatabaseReference!

let allImageCells = UICollectionView()
let wardrobeController = wardrobeViewController()

var allUploadedImages = [uploadedImages]()

func loadallOutfitParts() {
    wardrobeController.allImagesCollection = allImageCells

    jacketRef = Database.database().reference().child("jackets")
    loadJackets()

    sweaterRef = Database.database().reference().child("sweaters")
    loadSweaters()

    trousersRef = Database.database().reference().child("trousers")
    loadTrousers()

    shoesRef = Database.database().reference().child("shoes")
    loadShoes()

    //Load top outfitparts and store in outfitPartsTop
    //Load bottom outfitparts and store in outfitPartsBottom
    //Load shoe outfitparts and store in outfitPartsShoes

    dataIsLoaded = true
}

func loadJackets() {
    jacketRef.observe(DataEventType.value, with: { (snapshot) in
        var newImages = [uploadedImages]()
        for allUploadedImagesSnapshot in snapshot.children {
            let newImageObject = uploadedImages(snapshot: allUploadedImagesSnapshot as! DataSnapshot)
            newImages.append(newImageObject)
        }

        allUploadedImages = newImages
        wardrobeController.allImagesCollection.reloadData()
    })
}

func loadSweaters() {
    sweaterRef.observe(DataEventType.value, with: { (snapshot) in
        var newImages = [uploadedImages]()
        for allUploadedImagesSnapshot in snapshot.children {
            let newImageObject = uploadedImages(snapshot: allUploadedImagesSnapshot as! DataSnapshot)
            newImages.append(newImageObject)
        }

        allUploadedImages = newImages
        wardrobeController.allImagesCollection.reloadData()
    })
}

func loadTrousers() {
    trousersRef.observe(DataEventType.value, with: { (snapshot) in
        var newImages = [uploadedImages]()
        for allUploadedImagesSnapshot in snapshot.children {
            let newImageObject = uploadedImages(snapshot: allUploadedImagesSnapshot as! DataSnapshot)
            newImages.append(newImageObject)
        }

        allUploadedImages = newImages
        wardrobeController.allImagesCollection.reloadData()
    })
}

func loadShoes() {
    shoesRef.observe(DataEventType.value, with: { (snapshot) in
        var newImages = [uploadedImages]()
        for allUploadedImagesSnapshot in snapshot.children {
            let newImageObject = uploadedImages(snapshot: allUploadedImagesSnapshot as! DataSnapshot)
            newImages.append(newImageObject)
        }

        allUploadedImages = newImages
        wardrobeController.allImagesCollection.reloadData()
    })
}

0 个答案:

没有答案