Macos 如何使用indexOf获取所选NSCollectionView的索引?
我在Objective-C中看到了一些示例,例如,但是Macos 如何使用indexOf获取所选NSCollectionView的索引?,macos,swift,indexing,xcode7,nscollectionview,Macos,Swift,Indexing,Xcode7,Nscollectionview,我在Objective-C中看到了一些示例,例如,但是NSCollectionView。子视图使用了一个名为.indexOfObject的属性,我假设该属性已被.indexOf替换,但我不确定如何使用.indexOf 目标C中的上下文 NSInteger index = [[myCollectionView subviews] indexOfObject:self]; Swift版本 var index = collectionView.subviews.indexOf(element: S
NSCollectionView。子视图使用了一个名为.indexOfObject
的属性,我假设该属性已被.indexOf
替换,但我不确定如何使用.indexOf
目标C中的上下文
NSInteger index = [[myCollectionView subviews] indexOfObject:self];
Swift版本
var index = collectionView.subviews.indexOf(element: Self.Generator.Element)
问题:
如何使用indexOf
获取所选NSCollectionView
的索引?使用indexOf
非常简单:
let label = UILabel()
let tableView = UITableView()
let subviews: [UIView] = [label, tableView]
print(subviews.indexOf(label)) // Optional(0)
print(subviews.indexOf(tableView)) // Optional(1)
如您所见,如果在数组中找不到该对象,它将返回一个可选值nil
。您可以像这样展开实际索引
if let index = collectionView.subviews.indexOf(self) {
// do your stuff
} else {
// view not found in subviews
}
这同样适用于OS X NSCollectionView吗?@DanBeaulieu如果您链接的问题中的Objective-C代码有效,则是。方法indexOf
属于CollectionType
协议,独立于NSCollectionView
。