解决我的问题,这一切都归结为在 mainView 和 subView 之间传输数据。
在我的 mainView.h 中,我声明了一个 NSString 及其 @property
...
NSString *btnPressed;
}
@property(nonatomic, retain) NSString *btnPressed;
...
然后在我的 switchView 方法中的 mainView.m 中,我这样做了:
- (IBAction)switchView:(id)sender{
secondView *myViewController = [[secondView alloc] initWithNibName:@"secondView" bundle:nil];
btnPressed = [NSString stringWithFormat:@"%i", [sender tag]];
[myViewController setBtnPressed:self.btnPressed];
[self.view addSubview:myViewController.view];
}
上面代码中的这一行实际上负责将数据传输到新创建的 subView:
[myViewController setBtnPressed:self.btnPressed];
然后在我的 secondView.h 中,我声明了完全相同的 NSString *btnPressed 及其 @property(尽管这是一个与 main 中声明的完全不同的对象)
然后在我的 secondView.m 中,我得到了我感兴趣的按下按钮的值。
- (void)viewDidLoad {
[super viewDidLoad];
int theValueOfTheButtonPressed = [self.btnPressed intValue];
}
这很好用。
不要忘记@synthesize btnPressed;以及[btnPressed release];在 mainView.m 和 secondView.m