2014-11-04 121 views
-1

我對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,但請遠離那些請。歡迎所有建議!如果我需要更多描述,請告訴我。

+1

您不會從一個文件獲取值到另一個文件。您可以從一個類實例獲取值到另一個類。 – rmaddy 2014-11-04 00:22:50

+0

你似乎是從錯誤的角度接近這一點。你需要學習的是如何在視圖控制器之間導航「segue」。鑑於你剛開始,我推薦斯坦福大學iOS講座系列,它非常清晰地涵蓋了這個系列。你可以在網上或在iTunes U上找到它。如果你想跳到深層,google prepareForSegue。 – 2014-11-04 01:43:35

+0

我同意Wenchen Huang的回答。對你來說最簡單的方法可能是通過segse傳遞數據。儘管......我會因此而被激怒......我是全球變數的粉絲。 – John 2014-11-04 02:13:16

回答

1

有幾種方法來傳遞數據

1.使用委託設計模式

2.使用NSNotificationCenter

3.使用Segue公司的

更新:

http://makeapppie.com/2014/07/01/swift-swift-using-segues-and-delegates-in-navigation-controllers-part-1-the-template/

此鏈接包含您需要的詳細信息

+0

你能給我一個使用segue的例子嗎?這將非常有幫助。 – DaProfessor 2014-11-04 04:00:58

+0

查看我更新的鏈接,它會告訴你如何使用代理和segues – Leo 2014-11-04 04:08:22

+0

感謝您的建議!我遵循教程,幾乎完成它,但還有一些我不明白的錯誤。 – DaProfessor 2014-11-05 04:28:37

相關問題