我有兩個視圖控制器。主要和臨時之一。第二個在不同的屏幕上執行一個操作(由pushViewController
調用),然後我彈出(popViewController
),並希望呈現返回值爲String。傳遞popViewController之前沒有segue和storyboard的數據
我試過使用協議,但它是零。
這裏是我的代碼:
SecondVC.swift:
protocol ValueDelegate {
func append(_ text: String)
}
class SecondViewController: UIViewController{
var delegate: ValueDelegate!
...
...
private func function(){
if let delegate = self.delegate{
delegate.append(value.stringValue)
}
navigateBack()
}
private func navigateBack(){
if let navigation = self.navigationController{
navigation.popViewController(aniamted: true)
}
}
MainVC.swift:
class MainViewController: UIViewController, ValueDelegate {
var secondVC = SecondViewController()
...
func append(_ value: String) {
textField.text?.append(barcode)
}
...
override func viewDidLoad(){
super.viewDidLoad()
self.secondVC.delegate = self
}
}
你從第二個回到主要的權利? –
你可以在這裏查看示例:https://stackoverflow.com/questions/45534199/calling-delegate-function-from-appdelegate-not-working –