【发布时间】:2014-10-28 09:44:26
【问题描述】:
这是我的情况。我正在使用 NSTimer,它计数 15 秒,但我也有按钮,我用它来更早地停止这个计时器。更重要的是,这个按钮将我带到下一个 tableViewController。第二个参数是日期——欧洲中部的当前时间。如果我单击一个按钮,我需要移动到下一个 TableViewController,并将这两个参数放入 TableViewController。这是我的代码:
**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”来做到这一点
【问题讨论】:
-
您可以使用
self.performSegueWithIdentifier("mySegue",sender:self)从buttonPressed调用segue。其余部分在此处进行解释-可能与Pass variables from one ViewController to another in Swift 重复 -
我解决了这个问题,我在上面编辑了我的代码。
标签: ios iphone uitableview swift