我试图在点击应用程序中的按钮时加载新视图。 我得到的错误是 -按下按钮时切换视图
View Switcher[6867:207] -[UIView pushViewController:animated:]: unrecognized selector sent to instance 0x6010660
和源代码片断 -
-(IBAction) blueButtonPressed:(id)sender{
if(self.yellowViewController == nil){
YellowViewController *yellowController = [[YellowViewController alloc] initWithNibName:@"YellowView" bundle:nil];
self.yellowViewController = yellowController;
//[yellowController release];
//[self.view addSubview:yellowController.view];
//[self.view pushViewController:self.yellowViewController];
[self.navigationController pushViewController:self.yellowViewController];
[yellowController release];
}
//[self.navigationController pushViewController:self.yellowViewController animated:YES];
}
这里是我使用的头文件 -
#import <UIKit/UIKit.h>
@class BlueViewController;
@class YellowViewController;
@interface BlueViewController : UIViewController {
YellowViewController *yellowViewController;
BlueViewController *blueViewController;
}
-(IBAction)blueButtonPressed:(id)sender;
@property(retain) YellowViewController *yellowViewController;
@property(retain, nonatomic) BlueViewController *blueViewController;
@end
链接到的Xcode项目是 - https://rapidshare.com/files/2403429896/View_Switcher.zip
如果您仅取消注释if语句之外的方法调用,会发生什么情况? –
而你的财产yellowViewController设置为(保留)? –
最终结果是一样的(在模拟器中没有任何反应),但我确实得到了一个新的警告 - 不兼容的Objective-C类型结构YellowViewController *',期望'结构UIViewController *'当传递参数1'pushViewController:animated :'来自不同的Objective-C类型 –