gpt4 book ai didi

ios - 跳出循环调用数组

转载 作者:行者123 更新时间:2023-11-30 12:49:41 29 4
gpt4 key购买 nike

如何从代码外部打印数组。

public func buttonNameSetAndColor(){
let buttonNamesAndColor = [button1, button2, button3, button4, button5, button6, button7, button8, button9, button10]

var counter = 0

for i in 0...9 {
var val = NamePicker()
buttonNamesAndColor[i]?.setTitle(val, for: .normal)
buttonNamesAndColor[i]?.sizeToFit()

// array to find duplicates
var buttonValues = ["", "", "", "", "", "", "", "", "", ""] // array for button names
buttonValues.insert(val, at: counter)
counter += 1
print(buttonValues[counter])
}
}

我的代码是为我的buttonNamesAndColor数组中的按钮命名,当每个按钮都有一个数组时,它会被插入到我的buttonValues数组中。我希望看到该数组在函数外部打印出来。

我想打印出整个数组,只是为了看看 1. 我可以在函数外部调用它,2. 看看它存储了所有正确的值。

最佳答案

就目前而言,您无法从 buttonNameSetAndColor 函数外部访问 buttonNamesAndColor 数组。在 buttonNameSetAndColor 函数结束时,该数组不再在范围内。

下面的所有选项都允许您在 buttonNameSetAndColor 函数之外访问和打印数组。

我假设您的 button1、button2 等UIButton 的,但如果它们是其他类型,则以下内容将起作用。

选项 1:在您的类/结构体上为数组创建一个实例属性。此处还可以使用其他变体,这取决于您的需求。

class SomeClass {
private var buttonNamesAndColor: [UIButton]

// or

private var _buttonNamesAndColor = [UIButton]()
var buttonNamesAndColor: [UIButton] {
return _buttonNamesAndColor
}

// or

var buttonNamesAndColor: [UIButton]

...
}

选项 2:buttonNameSetAndColor 函数返回一个数组。

public func buttonNameSetAndColor() -> [UIButton] {
...
}

选项 3:如果您的 button 实例是值类型。将数组作为 inout 参数传入。传递给此函数的数组的任何突变都将超出该函数的范围。

public func buttonNameSetAndColor(_ array: inout [Button]) {
...
}

此选项将通过以下内容调用:

var buttonNamesAndColor = [button1, button2, button3] // Note "var" instead of "let"
buttonNamesSetAndColor(&buttonNamesAndColor) // Note "&" symbol

选项 4:如果 button 实例是引用类型,那么您只需将数组传递到 buttonNameSetAndColor 函数中,而无需使用 输入输出

public func buttonNameSetAndColor(_ array: [UIButton]) {
...
}

这将像这样使用:

var buttonNamesAndColor = [button1, button2, button3] // Note "var" instead of "let"
buttonNamesSetAndColor(buttonNamesAndColor)

关于ios - 跳出循环调用数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41155444/

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