我在Objective-C中见过一些例子,比如this one,但是NSCollectionView.subview使用了一个名为.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
}

关于macos - 如何使用indexOf获取所选NSCollectionView的索引?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32552211/

10-13 07:35