我的协议中有一个UIViewController
数组
var viewControllers: [MyViewController] { get }
我想获取具有特定ViewController的项目索引
let idfx = viewModel.viewControllers.index(of: viewController as! MyViewController)
但idfx
的类型为Array.index
。
如何将数组元素的索引作为Int?
答案 0 :(得分:6)
问题不在于它是Array.index
类型,这是Int
的类型,正如Nonuld所说的那样。问题是它是可选的。你需要以某种方式打开可选项。一种方法是使用"如果让"可选绑定:
if let idfx = viewModel.viewControllers.index(of: viewController as! MyViewController) {
print("view controller found at index \(idfx)")
} else {
print("View controller not found in array")
}
答案 1 :(得分:0)
实际上类型为Array.Index
is a typealias to the type Int
,因此您可以执行相同的操作,就好像您有一个带有方法index(of:)
结果的整数。