为了账号安全,请及时绑定邮箱和手机立即绑定

从视图控制器Xcode传回数据

从视图控制器Xcode传回数据

iOS
慕侠2389804 2019-11-18 14:55:45
几周前,我问了这个问题,并得到了非常详细的解释。现在,我想将数据传递回第一个ViewController,但我一直使用相同的方法卡住。我有第一个VC到第二个VC的模式,我想在其中编辑一个字符串数组,该数组将再次显示在第一个视图中。因此,在我的第一个视图上,我有一个数据数组,应将其传递给第二个数据,以便编辑字段显示当前信息,之后用户必须能够编辑该数组的内容并将该数据传递回第一个位置。它显示在标签上。我正在使用Swift。我的代码:(在ViewController.swift中:)override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {        let secondVC = segue.destinationViewController as SecondViewController        secondVC.namesPlayers = self.namesPlayers    }(在SecondViewController.swift中:)override func viewDidLoad() {    super.viewDidLoad()    labelFirstPlayer.text = namenSpelers[0]}谢谢
查看完整描述

3 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

希望这个能对您有所帮助


这是您要从中返回数据的第二个控制器。 SecondView.swift


@objc protocol returnDataProtocol {

    func returnStringData(myData: String)

 }





 class SecondView: UIViewController {



        weak var delegate: returnStringData?



        @IBAction func readyButtonPressed(sender: AnyObject) {


        // Do what you want here 


        delegate?.returnStringData("Euro/Dollar etc....")

         // this function is exist in first view controller 


        }

    }

第一个视图ViewController firstView.swift


class firstView: UIViewController, returnDataProtocol {

    // this function will call to second view. You can use here push method, if you are using navigation controller. 

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

        if segue.identifier == "mySegue" { // your identifier here

            let controller = segue.destinationViewController as! MyPopOverController

            controller.delegate = self

        }

    }


   // here you will get return value from second view controller class


    func returnStringData(myData: String){

          print(myData)

       }


}


查看完整回答
反对 回复 2019-11-18
  • 3 回答
  • 0 关注
  • 391 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信