我對swift編程相當陌生,想知道如何從.swift文件獲取值到另一個文件。我會舉一個例子:如何從一個類獲取值到另一個使用Swift?
有兩個.swift文件和兩個視圖控制器。第一個視圖控制器被命名爲ViewController,第二個RecievedInfo。 ViewController包含兩個變量:LevelNumber和DifficultyNumber。這兩個變量都是Int類型的。然後有三個級別的IBACTIONS,標題爲:L1,L2和L3。他們用相應的數字改變了LevelNumber的值。接下來,我們有三個困難,也是IBActions:簡單,中等和困難。它們都包含對應於其標題順序的DifficultyNumber的新值。這裏是我們有以下內容:
import UIKit
class ViewController: UIViewController {
var LevelNumber: Int!
var DifficultyNumber: Int!
@IBAction func Level1(sender: AnyObject) {
LevelNumber = 1
}
@IBAction func Level2(sender: AnyObject) {
LevelNumber = 2
}
@IBAction func Level3(sender: AnyObject) {
LevelNumber = 3
}
/////////////////////////////////////
/////////////////////////////////////
@IBAction func Easy(sender: AnyObject) {
DifficultyNumber = 1
}
@IBAction func Medium(sender: AnyObject) {
DifficultyNumber = 2
}
@IBAction func Hard(sender: AnyObject) {
DifficultyNumber = 3
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
我用斜槓來分隔2組。 在RecievedInfo我們已經創建了名爲InformationLabel的標籤,這是所有:
import UIKit
class RecievedInfo: UIViewController {
@IBOutlet weak var InformationLabel: UILabel!
}
我希望有人告訴我如何從視圖控制器(LevelNumber和DifficultyNumber),以RecievedInfo信息打印出來。
我知道我可以創建多個視圖控制器或plist,但請遠離那些請。歡迎所有建議!如果我需要更多描述,請告訴我。
您不會從一個文件獲取值到另一個文件。您可以從一個類實例獲取值到另一個類。 – rmaddy 2014-11-04 00:22:50
你似乎是從錯誤的角度接近這一點。你需要學習的是如何在視圖控制器之間導航「segue」。鑑於你剛開始,我推薦斯坦福大學iOS講座系列,它非常清晰地涵蓋了這個系列。你可以在網上或在iTunes U上找到它。如果你想跳到深層,google prepareForSegue。 – 2014-11-04 01:43:35
我同意Wenchen Huang的回答。對你來說最簡單的方法可能是通過segse傳遞數據。儘管......我會因此而被激怒......我是全球變數的粉絲。 – John 2014-11-04 02:13:16