gpt4 book ai didi

arrays - 选择数组中的中间值 - Swift

转载 作者:可可西里 更新时间:2023-11-01 00:55:24 26 4
gpt4 key购买 nike

我试图确保中间值列表是构建我的应用程序时看到的第一个 View 。 Xcode 提供了 if let firstView = viewList.firstif let firstView = viewList.last 但我不知道如何选择中间值。

lazy var viewList:[UIViewController] = {
let sb = UIStoryboard(name: "Main", bundle: nil)

let lists = sb.instantiateViewController(withIdentifier: "Lists")
let reminders = sb.instantiateViewController(withIdentifier: "Reminders")
let todo = sb.instantiateViewController(withIdentifier: "To Do")

return [reminders, lists, todo]
}()

override func viewDidLoad() {
super.viewDidLoad()

self.dataSource = self

if let firstView = viewList.first {
self.setViewControllers([firstView], direction: .forward, animated: true, completion: nil)
}
}

最佳答案

firstlast 类似,您可以使用返回可选值的计算middle 属性扩展Array 元素

extension Array {

var middle: Element? {
guard count != 0 else { return nil }

let middleIndex = (count > 1 ? count - 1 : count) / 2
return self[middleIndex]
}

}

使用示例:

if let middleView = viewList.middle {
//... Do something
}

我想让你知道,如果数组只有 1 个元素,firstlast 可以返回相同的元素。

同样,虽然这个扩展适用于任何长度的数组,但它可以返回相同的元素:

  • first, middle & last 如果你的数组只有一个元素
  • middle & last 如果你的数组只有 2 个元素

关于arrays - 选择数组中的中间值 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50248752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com