我将用户从我的应用程序发送到浏览器,然后通过我的自定义 URL 将他们返回到应用程序。问题是:一旦我返回,我所有的实例变量都是空的!接口(interface)被保留了(正如我预期的那样,因为我使用了 Storyboard ),但是(文本字段、实例变量等的)值是不可访问的...它们返回 null。
这是怎么回事??
最佳答案
(我已经有一段时间没有遇到这个问题了,但这是我认为发生的事情......)
在我的应用委托(delegate)的 openURL 方法中处理返回 URL 的调用时,我试图调用我的 View Controller 的方法作为响应,并通过创建该方法的 View Controller 的实例来实现。由于我没有访问当前实例,我实际上创建了该 View Controller 的第二个空白实例。
在这种情况下,我最终使用了 NSNotification
而不是直接调用该方法。我绝对认为这是最优雅的解决方案。
但回想起来我也可以做的是访问 View Controller 的当前实例,它也恰好是 Root View Controller ,使用:
UIViewController *controller = self.window.rootViewController;
关于ios - 通过 Url Scheme 重新打开 iOS 应用程序 - 状态保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15973451/