2010-01-17 103 views

回答

1

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

如果您仍想这样做,只需将第一个视图控制器的参考与开关传递到第二个视图控制器。然后,在您的第二个视图控制器中访问相应的UISwitch的on属性。

但是,我强烈建议您创建一个自定义类来保存每个UISwitch的布尔状态,而不是走这条路线。该类的一个实例可以是单例,也可以包含在应用程序委托中。请参阅answer这两种方法。

自定义类更好,因为UISwitch只是表示数据模型中某些属性的一种方法。如果明天你用另一种奇特的控制替代了UISwitch,第二个视图控制器应该仍然可以继续工作。两个视图控制器都有一个对这个自定义类的对象的引用。每当有变化时,第一个控制器都会更新这个对象。

类的接口可能是这样的:

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

@property BOOL first; 
@property BOOL second; 
@property BOOL third; 
+0

虽然我终于用cdespinosa的建议,但必须注意的是,您的解决方案精细工作过。 – 2010-01-17 02:10:35

相关问题