我的视图控制器中的一个具有几个UISwitches,我想另一个视图控制器,以便能够访问UISwitches的值如果/和语句。如何在Objective-C这样做呢?

有帮助吗?

解决方案

您可能不希望这样做。如果你想有一个第二的ViewController有基于第一抛出交换机不同的行为,你应该只交换机绑定到用户默认值,你可以在你的应用程序随时随地阅读。

HTTP:// icodeblog。 COM / 2008/10/03 / iphone编程教程-savingretrieving-数据使用-NSUserDefaults的/

其他提示

这是一个坏主意,因为它会创建视图控制器之间不需要的依赖关系。

如果您仍想这样做,只是通过与切换到第二视图控制器第一视图控制器的参考。然后,在第二个视图控制器刚刚访问相应UISwitch的on属性。

然而,不是走这样一条路,我强烈建议你创建一个自定义的类来保存每个UISwitch的布尔状态。这个类的实例既可以是一个单独,或包含在应用程序委托。看到这个回答了解如何使用这两种方法做到这一点。

一个自定义类更好,因为一个UISwitch只是表示在数据模型中某些属性的一种方式。如果明天你更换UISwitch与其他花哨 控制,第二视图控制器仍然应该继续工作。两个视图控制器具有与本自定义类的对象的引用。每当有一个变化时,第一控制器更新该对象。

类的接口可以是这样的:

@interface DataValues : NSObject {
    BOOL first;
    BOOL second;
    BOOL third;
}

@property BOOL first;
@property BOOL second;
@property BOOL third;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top