我有一个故事板,其中包含一个带有 NSCollectionView 的控制器。Storyboard 还包含一个 NSCollectionViewItem,其出口连接到 NSCollectionViewItem 子类 FeedItem。
您如何在 itemForRepresentedObjectAt 方法中使用 Storyboard(不是单独的 nib 文件)中的“单元格”或“场景”?
这是我到目前为止所拥有的..
class FeedsController : NSViewController, NSCollectionViewDataSource {
@IBOutlet weak var collectionView: NSCollectionView!
override func viewDidLoad() {
super.viewDidLoad()
}
func numberOfSections(in collectionView: NSCollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int {
return 1
}
func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem {
let collectionViewItem = self.storyboard?.instantiateController(withIdentifier: NSStoryboard.SceneIdentifier(rawValue: "FeedItem")) as! FeedItem
collectionViewItem.urlLabel.stringValue = "http://www.seanbehan.com"
collectionViewItem.entriesLabel.stringValue = "15 Entries"
collectionViewItem.updatedLabel.stringValue = "Last Update: June 1st at 3:15PM"
return collectionViewItem
}
}
class FeedItem : NSCollectionViewItem {
@IBOutlet weak var urlLabel: NSTextField!
@IBOutlet weak var updatedLabel: NSTextField!
@IBOutlet weak var entriesLabel: NSTextField!
}
这是一个使用 Swift 4.1 的 MacOS Cocoa 应用程序