gpt4 book ai didi

ios - 当我使用数组时 Xcode 8 永远索引

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

func buttonAppearance() {
let buttons = [buttonOneView, buttonTwoView, buttonThreeView, buttonFourView, buttonFiveView, buttonSixView, buttonSevenView, buttonEightView, buttonNineView, buttonTenView, buttonElevenView, buttonTwelveView, previousButtonView, skipButtonView, submitButtonView]
for button in buttons {
button?.layer.cornerRadius = 5.0
button?.layer.shadowOffset = CGSize(width: 2.0, height: 2.0)
button?.layer.shadowColor = UIColor.red.cgColor
button?.layer.shadowOpacity = 1.0

}
}

每当我注释掉数组和任何与之相关的代码时,索引就会完成,我就可以正常运行和构建了。还有其他人对此有任何问题吗?我研究了一下,发现这是 Xcode 8.1 修复的一个错误,但我已经更新了,但它仍然是一个问题。我想有一个解决方法,但这很脏。

最佳答案

删除按钮后的可选问号。在您的数组中,您拥有与循环将经过的项目一样多的项目。所以你知道“按钮”将作为迭代器存在于你的数组中,因为你在其中有项目并且你正在遍历它。

你说如果你注释掉数组,索引就可以工作。但是 buttonAppearance() 函数内的 for 循环与数组直接相关,因此我不确定在注释掉数组及其相关代码时究竟索引了什么。

要问自己的一个重要问题是放置在数组中的项目的数据类型,以及如果在数组内扩展任何按钮对象是否需要遵守某些协议(protocol)。for 循环肯定适用于原始数据类型,因此如果它不是可选(隐式/显式)处理的问题 - 那么请检查您放置在该数组中的对象的类型。

另一件需要考虑的事情——你是想在每次调用函数时创建你的按钮数组(比如改变外观主题)还是你想引用一些已经存在的全局按钮?在这种情况下 - 在函数外部声明按钮数组,并在函数内部循环遍历该数组。

如果另一方面 - 您打算仅在函数被调用时创建按钮并且它们不存在于全局函数之外,您将提供有关对象及其类型的更多信息。

在我看来,您在函数外部全局定义了按钮,并且您试图将它们全部存储在一个数组中只是为了遍历它们 - 在这种情况下我建议删除可选的“?”

将按钮存储在数组中 - 在函数外部并在函数中循环遍历数组。希望有所帮助。

关于ios - 当我使用数组时 Xcode 8 永远索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40475632/

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