简体   繁体   English

快速按下按钮时如何更改URL

[英]how to change url when button is pressed in swift

I'm having 2 buttons button1 & button2 when button1 is pressed I have to get url1 and when button2 is pressed get url2 in the below function 我有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")
        }
    }
}
}

You can try to make the url a parameter and change it from the caller place 您可以尝试将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")
        }
    }
}

Edit 编辑

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")
    }

}

Add parameter to this fetchXMLData function 向此fetchXMLData函数添加参数

func fetchXMLData(withUrl url: String)

also replace your url by this url variable 还要用此url变量替换您的url

XMLParserFactory.fetchData(url: url)

Now in every IBAction call this function with different url passed as parameter of this method 现在,在每个IBAction调用中,此函数都将不同的url作为此方法的参数传递

@IBAction func button1pressed(_ sender: UIButton) {
    fetchXMLData(withUrl: "url1.com")
}

@IBAction func button2pressed(_ sender: UIButton) {
    fetchXMLData(withUrl: "url2.com")
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM