gpt4 book ai didi

ios - 在导航 Controller 的后退按钮上准备 Segue

转载 作者:搜寻专家 更新时间:2023-11-01 07:23:33 25 4
gpt4 key购买 nike

我试图在从导航 Controller 返回之前下载数据,但是,我的 prepareforsegue 没有等待信息被下载。 Shouldperformsegue 甚至没有被调用。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
print("prepareforsegue")
reloadProgram() { (result:String) -> () in
print("reloaded")
}
}

func reloadProgram(completion: (result:String)->()) {
defaults.setBool(false, forKey: "gotColl")
if defaults.arrayForKey("selectedArray") != nil {
let selArray = defaults.arrayForKey("selectedIDArray") as! [String]
Networking().getVideos(selArray) { (result:String) -> () in
defaults.setBool(true, forKey: "gotColl")
}
}
completion(result: "done")
}

有人知道我可能做错了什么吗?

谢谢。

最佳答案

PrepareForSegue 不是从后退按钮调用的。仅当您按下/出示 Controller 时才会调用它。

一种解决方案是使用自定义操作添加您自己的后退按钮:

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Back" style:UIBarButtonItemStyleDone target:self action:@selector(backTapped:)];

然后什么时候调用你的方法

-(void)backTapped:(id)sender {
reloadProgram()
}

关于ios - 在导航 Controller 的后退按钮上准备 Segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37464962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com