我有地图和放大/缩小按钮作为强大的插座和设置viewController,显示/隐藏设置崩溃应用程序因为出口按钮变为零。如何解决这个问题?
在mainViewController中:
@IBOutlet var zoomIn: UIButton!
@IBOutlet var zoomOut: UIButton!
...
和
func setZoomFalse(){
zoomIn.isHidden = true
zoomOut.isHidden = true
}
func setZoomTrue(){
zoomIn.isHidden = false
zoomOut.isHidden = false
}
SettingsViewController已打开:
self.present(self.settingsViewController, animated: true, completion: nil)
从幻灯片菜单中
并且此调用在settingsViewController中发生崩溃:
@objc func switchChanged1(_ sender : UISwitch!){
let defaults = UserDefaults.standard
defaults.set(sender.isOn, forKey: settingsView.settingsIsZoom)
isZoom = sender.isOn
if isZoom {
mainViewController.setZoomTrue()
} else {
mainViewController.setZoomFalse()
}
}
答案 0 :(得分:0)
我通过这种方式解决了这个问题,我在settingsViewController中将全局变量设置为true,它在maonViewController中被定义为全局,在类定义之上,在viewWillApear中检查此变量是否为true,如果是,我调用setZoomTrue并且它适用于此当它从不同的viewController中调用时,它会以nil消息崩溃...