這是我的情況。我使用NSTimer,計數15秒,但我也有按鈕,我用它來提前停止計時器。還有什麼更多的這個按鈕帶我到下一個tableViewController。第二個參數是日期 - 歐洲中心的當前時間。如果我點擊一個按鈕,我需要移動到下一個TableViewController,並將這兩個參數放到TableViewController中。這是我的代碼:如何將兩個參數傳遞給下一個ViewController?
**FirstViewController:**
import UIKit
class FirstViewController: UIViewController {
var timer = NSTimer()
@IBOutlet weak var labelCounter: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
timer = NSTimer.scheduledTimerWithTimeInterval(1,target:self, selector: Selector("update"),userInfo: nil, repeats :true)
}
func update(){
timer.invalidate()
}
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "segueTest") {
var transfer = segue!.destinationViewController as SecondViewController
transfer.toPass = labelCounter.text
transfer.toPass2 = "\(NSDate())"
}
}
@IBAction func buttonPressed(button: UIButton){
if labelCounter.text > "0" {
timer.invalidate()
}
SecondViewController:
import UIKit
class ThirdViewController: UIViewController {
@IBOutlet weak var label1: UILabel!
@IBOutlet weak var label2: UILabel!
var toPass: String!
var toPass2: String!
override func viewDidLoad() {
super.viewDidLoad()
label1.text = toPass2
label2.text = toPass
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
此代碼工作正常:)在故事板我必須連接firstViewController與SecondViewController。我通過連接我的按鈕與secondViewController並將segue標識符設置爲「segueTest」來做到這一點。
可能重複查看控制器](http://stackoverflow.com/questions/5210535/passing-data-between-view-contro llers) – 2014-10-28 09:45:38
你可以使用'self.performSegueWithIdentifier(「mySegue」,sender:self)''從'buttonPressed'調用segue。其餘的解釋在這裏 - 可能的重複[傳遞變量從一個ViewController到另一個在Swift](http://stackoverflow.com/questions/24044108/pass-variables-from-one-viewcontroller-to-another-in-swift ) – Paulw11 2014-10-28 09:48:56
我解決了這個問題,我編輯了上面的代碼。 – Tannis 2014-10-28 15:07:17