如何在两个视图之间发送信息(因此,两个类)?我在寻找我的应用代表吗?有更好的或替代的方式吗?
答案 0 :(得分:1)
如果要发回信息,可以使用target-action(UIControl的方式),也可以发送NSNotifications,或使用通用委托协议。除非这是整个申请中的使用信息,否则将其放入您的应用代表可能会有点过分。
答案 1 :(得分:0)
我会使用Application Delegate。或者,如果一个视图拥有另一个视图,您可以将它们一起初始化并在类中保留它的主要引用。
我总是觉得有一个全局Context对象来保持视图之间的全局信息是有用的。这些信息可以是配置信息,设备当前方向,数据库处理程序等。
对于您需要交叉访问的变量,您可以使用属性。
class VC1 : UIViewController {
NSString* v1;
NSString* v2;
}
@property (copy) NSString *v1;
@property (copy) NSString *v2;
然后,在另一个视图中:
class VC2 : UIViewController {
VC1 *vc1;
}
在VC2中的消息实现中,您可以像这样使用VC1的v1和v2:
- (void) someMessage {
NSLog(@"VC1's v1 value is %@ and v2 value is %@", [vc1 v1], [vc1 v2]);
}
希望它有所帮助。