- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个歌曲播放应用程序。这些歌曲被加载到 NSCollectionView 中。有两个 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/
我是一名优秀的程序员,十分优秀!