gpt4 book ai didi

ios - 从类 swift 返回到上一个 Controller

转载 作者:可可西里 更新时间:2023-11-01 01:39:03 26 4
gpt4 key购买 nike

我有一个应用程序使用 http 调用从外部存储流式传输视频。当用户的设备未连接到网络服务时,我需要该应用返回到之前的 Controller 。

流程如下:用户访问元素列表(表格 View 单元格),选择一个,然后应用程序转到播放器 Controller 。在此 Controller 上,调用流式传输文件。

我在 Controller 外部的类中使用了一个 api 调用处理程序,但我不知道如何继续让它从这里(元素列表)返回到之前的 Controller 。

连接问题错误都在 api 类中捕获。我没有显示任何代码,因为我不确定它是否相关。如果您需要查看任何内容,请告诉我,我会更新问题。应该怎么做呢? (当然我用的是导航 Controller )

谢谢

最佳答案

如果你想回到之前的 View Controller ,你应该使用:

navigationController?.popViewControllerAnimated(true)

如果您需要在另一个类中而不是在 View Controller 中使用此功能,您可以使用 NSNotificationCenter 在需要显示前一个 Controller 时通知 View Controller ,就像这样:

你的 View Controller

override func viewDidLoad() 
{
...

NSNotificationCenter.defaultCenter().addObserver(
self,
selector: "goBack:",
name: "goBackNotification",
object: nil)

...
}

func goBack(notification: NSNotification)
{
navigationController?.popViewControllerAnimated(true)
}

另一个类

NSNotificationCenter.defaultCenter().postNotificationName("goBackNotification", object: nil)

不要忘记在您的 YourViewController 中移除观察者:

deinit 
{
NSNotificationCenter.defaultCenter().removeObserver(self)
}

编辑 1: 您显然可以使用 delegate 而不是 NSNotification 方法。如果你不知道 NSNotification 和 delegate 的区别我推荐给你 this answer .

关于ios - 从类 swift 返回到上一个 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32380033/

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