我目前正在将UIViewController的构造函数定义为:
public MyViewController(int mode) : base ("MyViewController", null)
{
//Initialize viewcontroller
}
我想根据mode
参数在不同情况下使用不同的nib文件。问题是我在调用基础构造函数之前无法在构造函数中运行任何代码。
我知道可以使用[condition] ? [true_path] : [false_path]
语法在两个笔尖字符串之间进行选择,但我必须在其中四个之间进行选择。
有没有办法在不借助向MyViewController
构造函数添加新参数的情况下执行此操作?
答案 0 :(得分:3)
您可以使用静态方法来解决此问题。
像这样定义:
private static string GetNibFile(int mode)
{
//Pick your nib file here, using a switch or something
return "ChosenNibName";
}
然后像这样使用它:
public MyViewController(int mode) : base (GetNibFile(mode), null)
{
//Initialize viewcontroller
}