不知道如何在 iOS 上从我的应用委托访问视图对象
Posted
技术标签:
【中文标题】不知道如何在 iOS 上从我的应用委托访问视图对象【英文标题】:Don't know how to access a view object from my app delegate on iOS 【发布时间】:2013-08-06 15:11:19 【问题描述】:我是 ios 编程的初学者,所以我可能会问一些显而易见的问题。无论如何,我的故事板中有一个UISwitch
正确连接到我的UIViewController
中声明的一个名为mySwitch
的属性。我想知道如何从我的应用程序委托中访问该属性。例如,从内部applicationWillResignActive:
- (void)applicationWillResignActive:(UIApplication *)application
??? // don't know how to access the mySwitch property
if ([mySwitch isOn])
// perform some task
我正在寻找的答案可能会满足更普遍的问题“从我的应用代理访问视图对象的正确方法是什么?”我还没有找到答案。非常感谢任何帮助。
【问题讨论】:
【参考方案1】:您不应该尝试 - 这不是应用程序委托的用途。或者,根据任务,开关的状态应该存储为用户默认值或类似的东西。
如果视图控制器应该完成这项工作,它可以通过观察UIApplicationWillResignActiveNotification
通知来完成这项工作(如果确实需要这样做)。
如果应用程序委托应该完成这项工作,那么视图控制器应该在开关更改时更新NSUserDefaults
中的值。
【讨论】:
任务是在应用程序离开活动状态时将一些视图对象的状态(一对UILabel
s 和一个UIDatePicker
)保存在NSUserDefaults
中,并在以后恢复它们(当开关设置为 On 表示应保存屏幕状态)。我想它应该由视图控制器来完成,对吧?
是的,视图控制器。如果您在它们更改而不是应用退出活动时保存它们,则可能不会产生真正的开销。
谢谢。只是为了记录,我在这里找到了实现观察适当通知的代码:***.com/questions/9011868/…以上是关于不知道如何在 iOS 上从我的应用委托访问视图对象的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Elastic beanstalk 上从我的 PHP 按需运行 python 脚本?
是否可以在 iOS 7 上从我的应用程序中禁用推送通知声音?