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

标签 ios swift viewdidload

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/

相关文章:

ios - 当用户的手指滑入特定区域时是否可以触发 Action ?

ios - 具有不同可选部分的 UITableView?

swift - 如何防止节点加速过快?

storyboard - 通过点击显示/隐藏 UIToolbar

iphone - 此代码适用于 iOS4.3,不适用于 iOS5

iphone - awakeFromNib 中的代码被 Storyboard覆盖

ios - 根据UITextview高度变化调整UILabel

ios - 如何识别 iOS 应用程序是否连接到特定的 WiFi 网络?

ios - 简单的应用程序崩溃

ios - UITableView单元格大小