Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.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
Iphone 是否从其他视图访问UISwitch设置?_Iphone_Objective C_Boolean_Uiswitch - Fatal编程技术网

Iphone 是否从其他视图访问UISwitch设置?

Iphone 是否从其他视图访问UISwitch设置?,iphone,objective-c,boolean,uiswitch,Iphone,Objective C,Boolean,Uiswitch,k、 我对这件事还不熟悉,所以通常都会道歉 我试图从不同的视图和类打开或关闭UISwitch值,但无法使其工作 这是一个简单的2视图应用程序。主视图和第二个是首选项菜单 尝试编写一个if/else方法,以便在其他视图上的开关打开而不是关闭时播放声音 我似乎不能使它工作。任何想法或一些语法示例都会对我很有帮助 谢谢。正如Matt Wilding所说,从一个视图控制器访问另一个视图控制器的UI组件不是一种好形式 当用户更改开关状态时,您可以将状态作为首选项值保存到NSUserDefaults中,而不

k、 我对这件事还不熟悉,所以通常都会道歉

我试图从不同的视图和类打开或关闭UISwitch值,但无法使其工作

这是一个简单的2视图应用程序。主视图和第二个是首选项菜单

尝试编写一个if/else方法,以便在其他视图上的开关打开而不是关闭时播放声音

我似乎不能使它工作。任何想法或一些语法示例都会对我很有帮助


谢谢。

正如Matt Wilding所说,从一个视图控制器访问另一个视图控制器的UI组件不是一种好形式


当用户更改开关状态时,您可以将状态作为首选项值保存到NSUserDefaults中,而不是访问view对象。只要您愿意,您就可以通过首选项访问交换机状态值。

正如Matt Wilding所说,从一个视图控制器访问另一个视图控制器的UI组件不是一种好形式


当用户更改开关状态时,您可以将状态作为首选项值保存到NSUserDefaults中,而不是访问view对象。无论何时,您都可以通过首选项访问开关状态值。

为此,请为swith添加选择器,并在app delegate中设置NSInteger属性。如下所示

[

然后,您需要在播放声音的第二个视图中访问此appDelegate属性 然后根据这个值,您可以做您想要做的事情,并且为了生成appDelegate类的对象,您需要这一行

YourAppDelegateClass *objAppDelegate=(YourAppDelegateClass *)[[UIApplication sharedApplication] delegate];

好的,如果您有任何其他疑问,那么您可以询问。

为此目的,为swith添加选择器,并在app delegate中生成NSInteger属性。如下所示

[

然后,您需要在播放声音的第二个视图中访问此appDelegate属性 然后根据这个值,您可以做您想要做的事情,并且为了生成appDelegate类的对象,您需要这一行

YourAppDelegateClass *objAppDelegate=(YourAppDelegateClass *)[[UIApplication sharedApplication] delegate];

好的,如果你有任何其他疑问,那么你可以问。

我将采取我认为你在这里试图实现的方法,并建议一种替代方法。你希望在你的应用程序中有一个从“首选项”菜单中假定的首选项,允许用户设置你的应用程序是否播放背景音乐。可能不准确,这是j请澄清

通常,在设计良好的应用程序中,流程由数据驱动,UI反映数据模型的状态,控制器协调这两个层。您的建议是让应用程序根据UI的状态播放音乐,而UI没有任何数据模型的支持。这就减少了模型级别,而您不需要ced会导致在不同控制器的UI之间进行信息通信时出现尴尬的尝试


像应用程序首选项这样的内容通常存储在一个漂亮的.plist文件中,该文件通过NSUserDefaults类进行管理。这将是一个很好的位置,用于对首选项进行数据级跟踪。在这种情况下,UISwitch将表示设置文件中标志的状态,更改开关的值会改变ge文件中的值。在应用程序中需要知道是否设置了播放声音标志的任何其他地方,都可以引用数据模型信息,而不是UI。这将使视图控制器彼此分离,这是一件好事。

我将采用我认为您在这里尝试实现的方法,并建议一种替代方法。您希望在应用程序中使用“首选项”菜单中的首选项,允许用户设置应用程序是否播放背景音乐。可能不准确,这只是为了澄清

通常,在设计良好的应用程序中,流程由数据驱动,UI反映数据模型的状态,控制器协调这两个层。您的建议是让应用程序根据UI的状态播放音乐,而UI没有任何数据模型的支持。这就减少了模型级别,而您不需要ced会导致在不同控制器的UI之间进行信息通信时出现尴尬的尝试


像应用程序首选项这样的内容通常存储在一个漂亮的.plist文件中,该文件通过NSUserDefaults类进行管理。这将是一个很好的位置,用于对首选项进行数据级跟踪。在这种情况下,UISwitch将表示设置文件中标志的状态,更改开关的值会改变ge文件中的值。在应用程序中需要知道是否设置了播放声音标志的任何其他地方,都可以引用数据模型信息而不是UI。这将使视图控制器彼此分离,这是一件好事。

一些代码演示了您当前的尝试,可能会有很大帮助。一般来说,这不是一种好形式要从一个视图控制器访问另一个视图控制器的UI组件…一些代码演示您当前的尝试可能会有很大帮助。一般来说,
从一个视图控制器访问另一个视图控制器的UI组件不是一种好形式…谢谢,我很感激。无论如何,我必须保存这些东西,这样可以简化事情。谢谢,我很感激。无论如何,我必须保存这些东西,这样可以简化事情。