2
我從函數中獲取schoolAddress的值。視圖消失後,我傳遞schoolAddress的值。米試圖從GeoDetailsVC通過學校地址的值EditChildPoofileVC .. thanx提前將值傳遞給前一個viewController,不調用委託方法
protocol DataEnteredDelegate : class {
func setLocations(info: String)
}
class GeoDetailsVC: UIViewController{
weak var delegate: DataEnteredDelegate? = nil
var schoolAddress: String = ""
override func viewDidDisappear(animated: Bool) {
self.delegate?.setLocations(self.schoolAddress)
print(schoolAddress)
}
}
class EditChildProfileVC: UIViewController, DataEnteredDelegate {
var locationSentFromGeoDetailsVC:String?
@IBOutlet weak var schoolAddressTF: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
print("EditChildProfileVC")
self.title = ChildName
}
func setLocations(info: String) {
NSOperationQueue.mainQueue().addOperationWithBlock {
self.locationSentFromGeoDetailsVC = info
self.schoolAddressTF.text = self.locationSentFromGeoDetailsVC
}
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue == "GeoDetailsSegue" {
let vc = segue.destinationViewController as! GeoDetailsVC
vc.delegate = self
}
}
}
這是行'vc.delegate =自我「實際上被稱爲?你爲什麼比較segue和一個字符串?它應該是'segue.identifier' – alexburtnik
只需傳遞prepareForSegue ... – AMAN77