使用iphone sdk中的参数初始化UIView子类?

时间:2009-10-15 04:33:40

标签: iphone uiview

我是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左右?我需要这个,因为必须在引导的视图中操作,根据它所调用的视图。

感谢。

1 个答案:

答案 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";

哪种方法效果最好将取决于您的特定应用需求。