gpt4 book ai didi

ios - 访问 swift 中该函数外部的 override func viewDidLoad() { super.viewDidLoad() 函数中创建的变量

转载 作者:行者123 更新时间:2023-11-30 14:18:29 27 4
gpt4 key购买 nike

import UIKit

class SecondViewController: UIViewController {

@IBOutlet weak var labelA: UILabel!
@IBOutlet weak var labelB: UILabel!


var dataPassed:String!
var secondDataPassed:String!
var newVar: String!
var newVar2: String!

override func viewDidLoad() {
super.viewDidLoad()
labelA.text = dataPassed
labelB.text = secondDataPassed
newVar = labelA.text
println(newVar)
}


println(newVar) *** I can't access newVar outside override func viewDidLoad() { - Gives "expected declaration" Its driving me crazy!!!***

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

}

最佳答案

dataPassed中有数据吗?如果您没有将任何字符串分配给 dataPassed 变量,然后将 newVar 分配给 dataPassed,则 newVar 将没有任何内容可打印。

尝试:

    import UIKit

class SecondViewController: UIViewController {
@IBOutlet weak var labelA: UILabel!
@IBOutlet weak var labelB: UILabel!


var dataPassed:String! = "Test."
var secondDataPassed:String!
var newVar: String!
var newVar2: String!

override func viewDidLoad() {
super.viewDidLoad()
labelA.text = dataPassed
labelB.text = secondDataPassed
newVar = labelA.text
println(newVar)
}

其次,您似乎正在尝试在函数之外再次 println 。这是行不通的,因为 viewDidLoad 本质上是应用程序的“主要方法”。您可以创建其他函数来响应按钮触摸等...并在那里运行 println,但由于 Swift 代码是按功能执行的,因此您正在执行的代码必须位于特定函数内部。虽然您可以声明变量,但您无法执行诸如在函数外部打印它们之类的操作,因为这样就没有疯狂的顺序/方法。

唯一可以在没有函数的情况下独立运行 Swift 代码的地方是 Swift Playground。在 XCode 中,您可以选择 File -> New -> Playground 来尝试一下。

关于ios - 访问 swift 中该函数外部的 override func viewDidLoad() { super.viewDidLoad() 函数中创建的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30826531/

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