我认为其中一个控制器有几个UISwitches,我想另一个视图控制器能够访问UISwitches。如果/和语句的值。 如何在Objective-C这样做呢?
Answer 1:
你可能不希望这样做。 如果你想有一个第二的ViewController有基于第一抛出交换机不同的行为,你应该只绑定切换到用户默认,你可以在你的应用程序随时随地阅读。
http://icodeblog.com/2008/10/03/iphone-programming-tutorial-savingretrieving-data-using-nsuserdefaults/
Answer 2:
这是因为它会创建视图控制器之间不需要依赖一个坏主意。
如果您仍然想这样做,只是通过与切换到第二视图控制器的第一个视图控制器的参考。 然后,在你的第二个视图控制器只需访问相应的UISwitch的on
财产。
然而,不是走这样一条路,我强烈建议你创建一个自定义的类来保存每个UISwitch的布尔状态。 这个类的实例既可以是一个单独,或包含在应用程序委托。 看到这个答案对于如何使用这两种方法做到这一点。
自定义类更好,因为一个UISwitch只是表示在数据模型中某些属性的一种方式。 如果明天你与其他花哨的控制取代了UISwitch,第二视图控制器应该还是继续工作。 两个视图控制器具有与本自定义类的对象的引用。 每当有一个变化,第一控制器更新此对象。
类接口可以是这样的:
@interface DataValues : NSObject {
BOOL first;
BOOL second;
BOOL third;
}
@property BOOL first;
@property BOOL second;
@property BOOL third;
文章来源: Communicating between view Controllers