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.
}
}
答案 0 :(得分:0)
dataPassed中是否有数据?如果没有为dataPassed变量分配任何String,然后将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中,您可以选择文件 - >新 - >游乐场试试这个。