gpt4 book ai didi

ios - 在 viewDidLoad 之前以编程方式将按钮添加到数组中

转载 作者:搜寻专家 更新时间:2023-10-31 22:55:45 24 4
gpt4 key购买 nike

使用 Storyboard时,可以在上面绘制 2 个按钮,然后通过创建将它们添加到数组中:

@IBOutlet private var cardButtons: [UIButton]!

这个 outlet 集合现在是两个按钮的数组,在 viewDidLoad 之前作为变量加载。

如何在不使用 Storyboard的情况下以编程方式创建这个按钮数组?

我已经试过了,但它给了我一个声明错误:

class ViewController: UIViewController {
var cardButtons = [CardView]()
let cardOne = CardView()
cardButtons.append(cardOne)

...rest of viewController standard class
}

最佳答案

在 ViewController 的生命周期中有几个时间点您可能想要填充 cardButtons 数组。例如,您可以在 viewDidLoad 中执行此操作。

class ViewController: UIViewController {
var cardButtons = [CardView]()

override func viewDidLoad() {
super.viewDidLoad()

let cardOne = CardView()
cardButtons.append(cardOne)
}
}

请记住,每次将 View 加载到内存时都会调用 viewDidLoad。在我的示例中,每次都会重新创建 cardOne。为避免这种情况,您可以像最初那样将 cardOne 存储在实例变量中。

class ViewController: UIViewController {
var cardButtons = [CardView]()
let cardOne = CardView()

override func viewDidLoad() {
super.viewDidLoad()
cardButtons.append(cardOne)
}
}

正如我所说,在 ViewController 的生命周期中有几个时间点您可能想要填充 cardButtons 数组。其他功能可能是:

  • viewDidAppear(),每次 View 出现时填充该区域。
  • init(),如果您根本不使用 Storyboard。

关于ios - 在 viewDidLoad 之前以编程方式将按钮添加到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48041811/

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