我对iphone有三种不同的看法。我成功地在不同的视图之间切换,但我想在第二个视图的ViewDidLoad方法中访问第一个视图的变量,但我无法得到它,所以plz帮助我。
答案 0 :(得分:1)
您需要引用第二个视图的第一个视图。因此,当您实例化第二个视图时,请实现一条消息,该消息将接收第一个视图并存储对它的引用。
让我指出,最好使用 ViewController 模式来协调从一个视图流向另一个视图的数据和行为。
答案 1 :(得分:1)
有两个UIView的子类声明如下:
@interface ViewOne : UIView {
NSString *someVar;
}
@property (nonatomic, copy) NSString *someVar;
@end
@interface ViewTwo : UIView {
NSString *referenceToSomeVar;
}
@property (nonatomic, retain) NSString *referenceToSomeVar;
@end
您可以在第一个视图
中引用“someVar”变量ViewOne *view1 = [[ViewOne alloc] init];
view1.someVar = @"This is the original variable";
ViewOne *view2 = [[ViewOne alloc] init];
view2.referenceToSomeVar = view1.someVar;
答案 2 :(得分:0)
我想在上面发布的代码中添加一些东西。想象一下,你想使用ViewOne中的变量,将它分配给ViewTwo中的第二个变量。
@interface ViewOne : UIView {
BOO someVar;
}
@property (readwrite) someVar;
@end
@interface ViewTwo : UIView {
BOO referenceToSomeVar;
}
@property (readwrite) BOO referenceToSomeVar;
@end
所以你必须放入ViewOne .m
ViewOne *view1 = [[ViewOne alloc] init];
view1.someVar = TRUE;
在SecondView .m
中 referenceToSomeVar = view1.someVar;