视图控制器之间的通信
-
21-09-2019 - |
题
我的视图控制器中的一个具有几个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;
不隶属于 StackOverflow