我是iPhone开发的新手。我的SDK版本是2.2
在我的代码中,UIViewController用于在启动应用程序后动态更改视图,调用UIViewController中的方法以了解哪个视图应该与参数一起初始化,这些参数转到“switch-case”并分配一个根据参数查看当前视图,如下所示:
case 1:
currentView = [[View01 alloc] init];
break;
case 2:
currentView = [[View02 alloc] init];
break;
在开关盒之外:
[self.view addSubview:currentView.view];
我想f可以传递一个参数和初始化,比如iniWithNibName左右?我需要这个,因为必须在引导的视图中操作,根据它所调用的视图。
感谢。
答案 0 :(得分:0)
解决此问题的一种方法是修改View01和View02类以包含initWithParam:initialiser。
即。添加
- (id) initWithParam:(NSString *)myParam;
到@interface部分并添加
- (id) initWithParam:(NSString *)myParam {
if (self = [self init]) {
// handle or store 'myParam' somewhere for use later
}
return self;
}
到@implementation部分。注意initWithParam:消息如何在内部调用现有的init。显然,您可以根据需要更改传入的参数类型或数量。
另一种方法是在视图类上提供属性,因此您可以执行以下操作:
currentView = [[View01 alloc] init];
currentView.myParam = @"SomeValue";
哪种方法效果最好将取决于您的特定应用需求。