争取segue的特定价值

时间:2018-04-17 01:48:51

标签: ios swift tags segue viewcontroller

现在我有2个按钮可以将文本字段数据从vc1转换为vc2。我想让顶部按钮将文本字段中的任何内容转换为vc2。我想底部按钮只是转到下一个vc。现在,两个按钮都将数据从文本字段转移到下一个vc。

enter image description here

const http = require('http');
const publicServer = http.createServer(...).listen(8080);
const privateServer = http.createServer(...).listen(9999);
publicServer.on('connect', (req, cltSocket, head) => {
  ...
  if (...) {
    // let srvSocket = net.connect('9999', 'localhost', () => {
    let srvSocket = net.connect('9999', '127.0.0.1', () => {
      cltSocket.write('\r\n\r\n');
      srvSocket.write(head);
      srvSocket.pipe(cltSocket);
      cltSocket.pipe(srvSocket);
    });
  }
});

1 个答案:

答案 0 :(得分:0)

有两种方法可以解决这个问题:

使用发件人并设置按钮的标记值

sender中的prepare(for:sender:)是按下的按钮,因此您可以为2个按钮设置唯一标记值,然后检查:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    guard let c2 = segue.destination as? twoViewController else {return}
    if (sender as? UIButton)?.tag == 1 {
        c2.ss = textfield.text
    }
}

设置segues的标识符并在prepare(for:sender:)

中进行检查

由于您有两个segue,请单击Storyboard中的segue箭头,并在 Attributes Inspector 中设置它们的标识符。您可以将顶部按钮的segue标识符设置为"sendTextField",然后在prepare(for:sender:)中检查该标识符:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    guard let c2 = segue.destination as? twoViewController else {return}
    if segue.identifier == "sendTextfield" {
        c2.ss = textfield.text
    }
}