gpt4 book ai didi

objective-c - 如何将 Collection View 项设置为委托(delegate)?

转载 作者:行者123 更新时间:2023-12-03 17:24:09 25 4
gpt4 key购买 nike

我有一个歌曲播放应用程序。这些歌曲被加载到 NSCollectionView 中。有两个 Controller :

  • 窗口 Controller
  • SongViewController(CollectionViewItem View 的 Controller )

窗口和每个单独的歌曲 View 都有一个播放按钮。因此,当我从窗口中按下播放时,歌曲 View 的播放按钮需要更新以显示暂停/播放状态,反之亦然。

当我在SongView中按下播放时,没问题,我可以设置_delegate = [[NSApp mainWindow] windowController]

但我的问题是:反过来呢?如何将 SongViewController 设置为 WindowController 的委托(delegate)。大约有 20 个 CollectionViewItem,因此有 20 个 SongViewController。我如何找到并设置正确的一个。

另外,我对 Objective-C 还很陌生,如果我以一种奇怪的方式处理这个问题,请告诉我。

:)

最佳答案

NSCollectionView 有一个方法 (NSCollectionViewItem *)itemAtIndex:(NSUInteger)index 来访问特定索引处的 NSCollectionViewItem。 NSCollectionViewItem继承自NSViewController,因此您可以访问它控制的 View 来设置委托(delegate)。

虽然这是技术答案,但我已经使用通知中心和绑定(bind)解决了问题,我发现这更简单、更高效。

关于objective-c - 如何将 Collection View 项设置为委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11878571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com