gpt4 book ai didi

ios - 在定义的同一 IBAction 中使用未解析的标识符

转载 作者:行者123 更新时间:2023-11-28 14:29:53 24 4
gpt4 key购买 nike

所以我是 swift 的新手,不知道为什么它不能识别 print(right_answer),即使它在同一个 IBAction 函数中声明。

@IBAction func answer_three(_ sender: Any) {
if randomnumber1 == 2 {
var right_answer = true

} else {
let right_answer = true

}
//Error "Use of unresolved identifier 'right_answer' on line below
print(right_answer)
}

如果您需要更多信息或代码,请告诉我。

最佳答案

任何时候你有花括号,它定义了一个本地范围。当您离开花括号时,您将退出该范围。如果您在一组大括号内定义一个变量,则它仅存在于这些大括号内。

将变量 right_answer 的声明移动到函数的顶部,如下所示:

@IBAction func answer_three(_ sender: Any) -> Bool {
var right_answer: Bool
if randomnumber1 == 2 {
right_answer = true
} else {
right_answer = true
}
print(right_answer)
return right_answer
}

(您的原始代码在所有情况下都将 right_answer 设置为 true,这没有多大意义。我就这样保留了它,因为我不知道您想要它做什么。)

请注意,变量 right_answer 仍然是函数的局部变量。当您退出该函数时,该变量超出范围并且该变量不再存在。 (没关系,因为你关心的是函数的返回值。)

局部和全局作用域的概念是编程的基础。你应该读一本关于编程的书。 Apple 的 Swift 编程 iBook 将是一个不错的选择。它教您使用 Swift 从头开始​​编程。

关于ios - 在定义的同一 IBAction 中使用未解析的标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51338029/

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