Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 关闭Popover时,如何保存当前状态?_Ios_Iphone_Swift_Xcode_Popover - Fatal编程技术网

Ios 关闭Popover时,如何保存当前状态?

Ios 关闭Popover时,如何保存当前状态?,ios,iphone,swift,xcode,popover,Ios,Iphone,Swift,Xcode,Popover,通过故事板segue,我制作了一个Popover视图。在popover viewcontroller中,有两个开关(开/关)。一切都好。但是在关闭popover viewcontroller后,当重新调用popover视图时,popover的状态是默认状态。也就是说,开关每次都打开。如何保存已更改的状态(关闭开关,如果已完成) 这是PopOver的代码 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

通过故事板segue,我制作了一个Popover视图。在popover viewcontroller中,有两个开关(开/关)。一切都好。但是在关闭popover viewcontroller后,当重新调用popover视图时,popover的状态是默认状态。也就是说,开关每次都打开。如何保存已更改的状态(关闭开关,如果已完成)

这是PopOver的代码

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "noticePopover" {
        let popoverViewController = segue.destination
        popoverViewController.popoverPresentationController?.delegate = self
        UIView.animate(withDuration: 0.5, animations: {
            self.view.alpha = 0.5
        })

        segue.destination.popoverPresentationController?.backgroundColor = inspotPointColor
    }
}

func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
    return UIModalPresentationStyle.none
}
func popoverPresentationControllerDidDismissPopover(_ popoverPresentationController: UIPopoverPresentationController) {
    print("popoverPresentationControllerDidDismissPopover")
    UIView.animate(withDuration: 0.2, animations: {
        self.view.alpha = 1.0
    })
}

我搜索了这个问题,但找不到解决方案。请告知我您的好意。

您需要将开关状态保存到某个位置;用户默认值、核心数据、plist文件,甚至只是将其保存在某个变量中。然后,您可以在
viewDidLoad
中为您的popover视图控制器设置开关状态。谢谢您的评论。我看到了解决它的道路。我试着编码UserDefaults.PaulW11?正如你所说,我成功的唯一原因是转换。但Popover视图是通知状态(推送)。这是设置>通知打开/关闭的状态。我可以保存ViewController的总体状态吗?@Bennie,在本地保存数据将解决您的问题,正如Paulw所说,相关逻辑由您决定。你的逻辑是否符合你的要求?@Basir Alam。谢谢你的评论。主要原因是我的逻辑混乱。我会检查我的逻辑并重建它^^您需要将开关状态保存到某个位置;用户默认值、核心数据、plist文件,甚至只是将其保存在某个变量中。然后,您可以在
viewDidLoad
中为您的popover视图控制器设置开关状态。谢谢您的评论。我看到了解决它的道路。我试着编码UserDefaults.PaulW11?正如你所说,我成功的唯一原因是转换。但Popover视图是通知状态(推送)。这是设置>通知打开/关闭的状态。我可以保存ViewController的总体状态吗?@Bennie,在本地保存数据将解决您的问题,正如Paulw所说,相关逻辑由您决定。你的逻辑是否符合你的要求?@Basir Alam。谢谢你的评论。主要原因是我的逻辑混乱。我会检查我的逻辑并重建它^^