【发布时间】:2017-02-25 08:40:29
【问题描述】:
我从故事板创建了一个集合视图控制器,并将其自定义类设置为ItemCollectionVC,其单元格的自定义类设置为ItemCell,并将其重用标识符设置为Cell
这是我的ItemCollectionVC 课程:
import UIKit
private let reuseIdentifier = "Cell"
class ItemCollectionVC: UICollectionViewController {
var dataSourceItems: [Items] = []
var counterBuildItems: [Items] {
let weaponItemArray = WeaponItems.weaponItems as [Items]
let defenseItemArray = DefenseItems.defenseItems as [Items]
return weaponItemArray + defenseItemArray
}
var freeBuildItems = WeaponItems.weaponItems as [Items]
var captureKrakenItems: [Items] {
let weaponItemArray = WeaponItems.weaponItems as [Items]
let abilityItemArray = AbilityItems.abilityItems as [Items]
return weaponItemArray + abilityItemArray
}
override func viewDidAppear(_ animated: Bool) {
switch self.presentingViewController!.title! {
case "CounterBuildVC":
dataSourceItems = counterBuildItems
case "FreeBuildVC":
dataSourceItems = freeBuildItems
case "CaptureKrakenVC":
dataSourceItems = captureKrakenItems
default:
break
}
}
override func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return dataSourceItems.count
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! ItemCell
cell.cellImage.image = dataSourceItems[indexPath.row].image
print(dataSourceItems.count)
return cell
}
}
当集合视图控制器出现时,它是空的,什么可能导致问题?
【问题讨论】:
-
您检查过数组的计数并重新加载您的集合视图吗?
-
你在哪里调用集合视图实例上的
reloadData()? -
@vadian 我没叫它,我必须叫它吗?
-
我的错,你不必这样做,这是
UICollectionViewController -
@MandeepSingh 我查过了,没问题
标签: ios swift uicollectionview