我的一个视图控制器有几个UISwitch,我希望另一个视图Controller能够访问If /和UISwitches的值。我如何在Objective-c中做到这一点?在视图控制器之间进行通信
1
A
回答
0
你可能不想这样做。如果您希望第二个ViewController根据第一个抛出的开关具有不同的行为,您应该将开关绑定到用户默认值,您可以在应用程序的任何位置读取它们。
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;
相关问题
- 1. emberjs如何在控制器和视图之间进行通信?
- 2. 视图控制器之间的通信
- 3. 如何使用委托在2个视图控制器之间进行通信?
- 4. IOS Swift,代表在两个视图控制器之间进行通信
- 5. 如何在角度DART控制器之间进行通信
- 6. angularjs:使用服务在控制器之间进行通信
- 7. 如何在Ember.js中的控制器之间进行通信
- 8. 我想知道如何在控制器之间进行通信
- 9. 两个控制器之间在angularjs中进行通信1
- 10. ScrollView中的子视图控制器和Superview控制器之间的通信
- 11. mvc中视图和控制器之间的通信3
- 12. 集装箱视图控制器之间的通信
- 13. UISplitViewController中两个视图控制器之间的通信
- 14. iphone - 在segue后与之前的视图控制器进行通信
- 15. 在控制器和视图之间进行修改的实体
- 16. 主视图控制器 - >详细视图控制器通信
- 17. 在同一视图的视图之间进行iOS切换控制器
- 18. UIContainerViewController控制器之间的通信
- 19. JavaFX。控制器之间的通信
- 20. 控制器之间的通信 - angularjs
- 21. 嵌套控制器之间的通信
- 22. 通信控制器之间不可能
- 23. 控制器之间的通信JavaFX
- 24. 在视图控制器之间导航?
- 25. 在视图控制器之间切换
- 26. MVC 3:通过JavaScript在局部视图和视图之间进行通信
- 27. 在视图设计模式与事件之间进行通信
- 28. GWT与MVP:如何在2个视图之间进行通信?
- 29. 基本概念:在两个视图之间进行通信?
- 30. 如何在3个视图控制器之间传递信息?
虽然我终于用cdespinosa的建议,但必须注意的是,您的解决方案精细工作过。 – 2010-01-17 02:10:35