我正在尝试在一个单独的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()
})
}