CollectionView传递数据

时间:2017-11-03 12:08:10

标签: swift macos uicollectionview

将数据从ViewController传递到CollectionViewItem的正确方法是什么?

ViewContoller

    func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem {        
        let item = CollectionView.makeItem(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "CollectionViewItem"), for: indexPath) as! CollectionViewItem
        item.themeName = getDirectoryContentByIndex(index: indexPath)
        return item
    }

CollectionViewItem

class CollectionViewItem: NSCollectionViewItem {


   var themeName: String!
   @IBOutlet weak var NameOfTheme: NSTextFieldCell!

   override func viewDidLoad() {
      super.viewDidLoad()
      // Do view setup here.
   }
}

编辑: 我想将themeName指定为NameOfTheme的stringValue。但是如果我设置了值,那么IBOutlet就是零。

1 个答案:

答案 0 :(得分:0)

我建议您制作单元格的字段private并制作configure(YOUR_PARAMS)(在我们的案例中为configure(themeName: String)。因此,在cellForRow中,您将调用此函数{{1} }