2012-07-01 59 views
2

我想爲多個場景使用相同的ViewController。現在我想根據使用哪個場景來實現稍微不同的行爲。我想這是可能的使用標識符。像(僞代碼)在一個場景中使用一個ViewController

if (self.identifier == scene1) 
{ 
    // do this 
} 
else if (self.identifier == scene2) 
{ 
    // do that 
} 

如何從ViewController調用標識符?

編輯:

我的意思是從Inpector這個標識符 - 我怎麼能調用它的代碼?

enter image description here

在此先感謝。

回答

0

我認爲正確的設計在這裏是使用一個枚舉值,如:

typedef enum{ 
    kViewControllerStyle1, 
    kViewControllerStyle2, 
    kViewControllerStyle3 
} ViewControllerStyle; 

鉤出來,通過界面生成器插座需要適應這種風格的視圖元素,並添加一個開關 - 在你的「viewDidLoad」方法的情況下做出正確的調整,依賴於當前的視圖控制器風格(同時添加一個「ViewControllerStyle」屬性到你的視圖控制器類)。

+0

好了,但我在哪裏可以得到的標識? UIViewController沒有標識符屬性(我編輯了我的問題) – brainray

+0

不要混淆這兩個東西 - 我的意思是創建你自己的「類型」屬性,你不需要使用「標識符」。 – Stavash

+1

這很清楚。但是,我如何將ViewControllerStyle設置爲正確的值? – brainray

2

我修好了。一種可能的方法是命名Segway標識符,然後在prepareForSegue方法中檢查相等的字符串。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"HelpSegue"]) 
    { 
     // do this 
    } 
    else 
    { 
     // do that 
    } 

}

enter image description here

相關問題