我会简短
问题:
我关闭了视图控制器,并在传入的控制器上调用了一个函数,该函数正常运行。该值甚至可以打印到控制台。我将值分配给局部变量,它可以正常打印,直到我开始更新持有该值的struct对象上的其他属性。实际上,该值会从存储的所有对象中完全删除。该代码只触及一次该值,所以我不确定发生了什么。
这是我解雇的方式:
var controller = AddVendersTableViewController()
override func viewDidLoad() {
...
//MARK: Temp
controller.delegate = self
}
@objc func returnToOriginatingController(){
dismiss(animated: true) { [weak self] in
self?.controller.enabledStatusChecker()
print("This is the initiated view controller — \(String(describing: self?.controller))")
}
submitButton.isHidden = true
}
这是新控制器上的接收端:
var delegate : CompanyAddressDelegate? = nil
func enabledStatusChecker(){
if delegate != nil {
guard let string = delegate?.getcompanyAddress() else {return}
let localString = string
localVenderObject?.address = localString
print(localVenderObject ?? "this is not working")
print("\(self) — This is the current VC ")
}
print(localVenderObject ?? "No Value in enabledStatus")
if localVenderObject?.name != nil && localVenderObject?.phone != nil && localVenderObject?.email != nil && localVenderObject?.website != nil && localVenderObject?.address != nil {
submitButton.isEnabled = true
submitButton.layer.backgroundColor = UIColor.systemBlue.cgColor // temp color
}
}