如何使用Swift从一个类获取值到另一个?

时间:2014-11-04 00:20:58

标签: ios 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.
}


}

我使用斜杠来分隔两组。 在RecievedInfo中,我们创建了一个名为InformationLabel的标签,全部是:

import UIKit

class RecievedInfo: UIViewController {

@IBOutlet weak var InformationLabel: UILabel!

}

我希望有人告诉我如何将ViewController(LevelNumber和DifficultyNumber)中的信息打印到RecievedInfo。

我知道我可以创建多个视图控制器或plists,但请远离那些。欢迎所有建议!如果我需要进一步描述,请告诉我。

1 个答案:

答案 0 :(得分: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/

此链接包含您想要的详细信息