Don*_*onn 43
首先,设置属性/属性以将变量保存在第二个视图控制器(目标)中.
class YourSecondViewController: UIViewController {
var duration:Double?
}
Run Code Online (Sandbox Code Playgroud)
然后让您的按钮触发您的自定义segue.使用您的变量('duration')作为发件人的参数.
class YourFirstViewController: UIViewController {
@IBAction func buttonTapped(sender: AnyObject) {
self.performSegueWithIdentifier("MainToTimer", sender: duration)
}
}
Run Code Online (Sandbox Code Playgroud)
最后,通过覆盖prepareForSegue方法传递此发送方数据:
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "MainToTimer") {
let secondViewController = segue.destinationViewController as YourSecondViewController
let duration = sender as Double
secondViewController.duration = duration
}
}
Run Code Online (Sandbox Code Playgroud)
是的,也可以使用prepareForSegue的'sender'参数传递多个变量和常量.如果要传入多个数据,请将它们放在一个数组中,并使该数组成为发送方.
首先ViewController这个(对于模态segue):
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let theDestination = (segue.destinationViewController as ViewController2)
theDestination.Duration2 = Duration
}
Run Code Online (Sandbox Code Playgroud)
更改ViewController2为第二个名称ViewController.在ViewController2创建一个类变量:
var Duration2 = (whatever the type - UInt8 I guess for time)
Run Code Online (Sandbox Code Playgroud)
而已.您将在价值Duration2的价值Duration从第一ViewController.
| 归档时间: |
|
| 查看次数: |
25739 次 |
| 最近记录: |