ViewController
에서 CollectionViewItem
으로 데이터를 전달하는 올바른 방법은 무엇입니까?CollectionView 데이터 전달
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.
}
}
편집 : 나는 NameOfTheme
의 stringValue로 themeName
을 할당 할. 그러나 값을 설정하면 IBOutlet은 0입니다.
한 가지 방법은 프로토콜 및 대의원을 사용하는 것입니다이 함수를 호출합니다
cellForRow
에 그래서. 프로토콜 및 대표자에 사용된다 한 클래스에서 다른 클래스로 대화 할 수 있습니다. 여기에서 어떻게 사용하는지 배울 수 있습니다 : https://stackoverflow.com/questions/40501780/examples-of-delegates-in-swift –