所以我有这个问题,我必须在两个集合视图和一个表视图加载一个实体。事情是,主要是我只需要在桌面视图所在的VC上加载一个实体。并且该数据实体有这些参数,即:加载coredata两个收集视图和一个表视图在swift
- 发动机型(柴油或汽油)
- 车色
- Max.velocity
- 生产年份现在
,主点是,根据汽车发动机的类型为桌面上的单元着色。因此,如果数据实体“Car”的Bool值为“isEngineDiesel”= true,那么该单元格将为橙色,如果为false,则它将呈浅蓝色。这工作得很好,一个简单的if语句在表视图委托方法加载这样的单元格。但是,现在我不得不实施另一个具有两个收集视图的VC,其中第一个仅装载柴油发动机车辆实体,另一个装载汽油类型。 所以我想这个问题已经清楚了。我怎样才能做到这一点?因为经过无数个小时的实验,我唯一的想法是两个使两个实体的其中一个是DieselCar和另一个PetrolCar。但是这意味着改变完整的数据结构,而不是一个表格视图,我实际上需要两个表格,这看起来不是一个好主意,因为它会“溢出”所有数据。
所以......任何想法男性?
编辑:
到目前为止,我只设法让细胞冠军,但细胞数量的返回值仍然是如何解决是一个谜。 收集视图委托的代码:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! CollectionViewCell
if let carData = fetchedResultsController?.objectAtIndexPath(indexPath) as? Car {
cell.layer.cornerRadius = 20
cell.layer.masksToBounds = true
if collectionView == collectionViewDiesel {
if carData.isEngineDiesel == true {
cell.backgroundColor = UIColor(netHex: 0x8DF060)
// Display the cell name
cell.cellTitle.text = carData.cellTitle
}
}else if collectionView == collectionViewPetrol {
if carData.isCarDiesel == false {
cell.backgroundColor = UIColor(netHex: 0xEB9B2D)
// Display the cell name
cell.cellTitle.text = carData.cellTitle
}
}
}
return cell
}
这是我需要回答的方法:你需要两个收集意见的数据结构
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 5
}
恩,是的,我想到了,但由于它是一个大型实体,所以我们将非常感谢一个示例代码。另外为了防止别人遇到这个问题的记录。 – Petar
如果它是一个庞大的实体,你可以直接使用谓词 – Imran
将数据加载到相应的数组中。我可以使用示例数据发布集合视图委托函数的示例,但不能与整个场景 – Imran