2013-07-04 37 views
1

我目前有我的UIViewController這樣定義構造函數:採摘筆尖文件中Xamarin.iOS

public MyViewController(int mode) : base ("MyViewController", null) 
{ 
    //Initialize viewcontroller 
} 

我想用在基於對mode參數不同的情況不同的筆尖文件。問題是我無法在調用基礎構造函數之前在構造函數中運行任何代碼。

我知道有可能使用[condition] ? [true_path] : [false_path]語法在兩個筆尖字符串之間進行拾取,但我必須在它們中的四個之間選取。

有什麼辦法可以做到這一點,而不是訴諸MyViewController構造函數添加新的參數?

回答

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 
} 
+0

它的工作原理! (儘管我需要添加一個;返回語句後) 謝謝! –