所以我有這個問題,我必須在兩個集合視圖和一個表視圖加載一個實體。事情是,主要是我只需要在桌面視圖所在的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