首页 > 解决方案 > 快速按下按钮时如何更改url

问题描述

我有 2 个按钮 button1 和 button2 当 button1 被按下时我必须得到 url1 并且当 button2 被按下时在下面的函数中得到 url2

           func fetchXMLData() {
    XMLParserFactory.fetchData(url: "https://brwterrgn.ergwgw.com/etwtt.cms") { (listOfXMLVM, error) in

        print("Fetch xml data")
        if error == nil {
            self.listOfNewsVM = listOfXMLVM!
            self.tableView.reloadData()
        }
        else {
            print(error?.localizedDescription ?? "Error")
        }
    }
}
}

标签: swift

解决方案


您可以尝试将 url 设置为参数并从调用者位置更改它

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.

    fetchXMLData(url: "https://value.com/etwtt.cms")
}

func buttonAct(_ sender: UIButton) {
    fetchXMLData(url: "https://brwterrgn.ergwgw.com/etwtt.cms")
} 
func fetchXMLData(url:String) {
    XMLParserFactory.fetchData(url:url) { (listOfXMLVM, error) in

        print("Fetch xml data")
        if error == nil {
            self.listOfNewsVM = listOfXMLVM!
            self.tableView.reloadData()
        }
        else {
            print(error?.localizedDescription ?? "Error")
        }
    }
}

编辑

class FirstVC: UIViewController {

    func showSecond(_ sender: UIButton) {

        let sec = //
        sec.delegate = self
        present/push(sec)

    }

    func fetchXMLData(url:String) { 
        XMLParserFactory.fetchData(url:url) { (listOfXMLVM, error) in

            print("Fetch xml data")
            if error == nil {
                self.listOfNewsVM = listOfXMLVM!
                self.tableView.reloadData()
            }
            else {
                print(error?.localizedDescription ?? "Error")
            }
        }
}


class SecondVC: UIViewController {

    weak var delegate:FirstVC?

    func buttonAct(_ sender: UIButton) {
        delegate?.fetchXMLData(url: "https://brwterrgn.ergwgw.com/etwtt.cms")
    }

}

推荐阅读