【问题标题】:Xcode - 2 View Controller and 2 Swift Files and read TextField from View Controller 1 from View Controller 2Xcode - 2 个视图控制器和 2 个 Swift 文件,并从视图控制器 1 从视图控制器 2 读取 TextField
【发布时间】:2016-03-24 09:20:09
【问题描述】:

我有 2 个视图控制器

1) 视图控制器 1 2) 视图控制器 2

在“View Controller 1”中有“Text Field 1”=10(viewcontroller1.swift)

在“view Controller 2”中有“Text Field 2”=10(viewcontroller2.swift)

问题在“View Controller 2”我有“Button”来计算“Text Field 1”+“Text Field 2”=20。

那么在“viewcontroller2.swift”文件中我如何编写代码?

感谢大家的帮助。

Text Field

【问题讨论】:

  • 你是先访问viewcontroller1再访问viewcontroller2吗?如果是这样,那么您可以使用 segue
  • 我只想在“View Controller 2”标签中显示答案。当我单击“查看控制器 2”处的按钮时,标签显示答案为“20”。
  • 所以你问如何将数据从第一个文本字段传递到第二个视图?如果是这样,那么我有解决方案
  • 我在 swift 中的 xcode 是 @IBAction func button1(sender: AnyObject) { let answer1 = Double(tf2.text!) if answer1 != nil { label1.text = "(answer1!)" } else { label1.text = "必须编号" }
  • 我附上了上面的文本字段图像链接。谢谢。

标签: swift textfield viewcontroller


【解决方案1】:

答: 当 push viewcontroller2 时,传递 Text Field 1 的值

乙: 将文本字段 1 引用传递给 vc2

C: 将弱 viewcontroller2 传递给 vc2

【讨论】:

  • 如何 > 你能提供步骤吗?谢谢。我很快。
【解决方案2】:

我找到了答案

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
    if (segue.identifier == "VC2") {
        let svc = segue.destinationViewController as! ViewController2;

        svc.toPass = tf1.text

    }
}

在 View Controller 1 上应用以上


class ViewController2: UIViewController, UITextFieldDelegate {


var toPass:String!

在 View Controller 2 上应用以上

以下也适用

override func viewDidLoad() {
    super.viewDidLoad()


    dummyLabel.text = toPass
}

最后在“Storyboard Segue”上的标识符:“VC2”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多