获取NSCollectionView中的视图索​​引?

Nic*_*kkk 7 indexing cocoa nstableview nscollectionview nscollectionviewitem

我使用新的基于视图的NSTableView为Mac OS X Lion开发了一个应用程序,但是由于我想将整个应用程序移植到Snow Leopard,我试图找出模拟这样一个tableview的最佳方法.到目前为止,我已经创建了一个NSCollectionView,一切都很好,除了我无法获取触发按钮单击事件的视图的索引.在Lion中我有以下功能:

- (IBAction)buttonClick:(id)sender
Run Code Online (Sandbox Code Playgroud)

所以我可以使用一个方法(我记不起它的名字)来得到tableview里面的视图索引

- (NSInteger)rowForView:(NSView *)aView
Run Code Online (Sandbox Code Playgroud)

使用aView作为发件人的超级视图,但我找不到类似于集合视图的东西...唯一"有用"的方法似乎是

- (NSCollectionViewItem *)itemAtIndex:(NSUInteger)index
Run Code Online (Sandbox Code Playgroud)

(或类似的东西),但这不能帮助我,因为它返回一个NSCollectionViewItem,我甚至无法访问它只知道相应的视图!

Dev*_*shi 4

在 ButtonClick 中,尝试以下代码:

id collectionViewItem = [sender superview];
NSInteger index = [[collectionView subviews]  indexOfObject:collectionViewItem];
return index;
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助 :)