我有一個iPhone應用程序,目前我正在使用Storyboard在XCode 4.3中構建。我有一個具有兩個(2)seques的「根」視圖控制器到包含UIWebView的視圖控制器。我希望能夠識別segue(已經爲這兩個segues設置了唯一標識符),因此我可以將正確的內容「推送」到UIWebView,這是基於在「root」視圖控制器中激活了哪個segue。如何處理去同一視圖控制器的兩個賽段?
我想我必須使用「prepareForSegue」方法,但不知道它會去哪裏。我在哪裏可以找到如何處理兩個賽段到同一個視圖控制器? (我已經谷歌,並沒有發現適合我的情況)。
這裏是我正在使用的代碼:
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"helpSegue"]) {
NSLog(@"helpSegue");
}
else if ([segue.identifier isEqualToString:@"reportSegue"]) {
NSLog(@"reportSegue");
}
}
謝謝,謝謝,謝謝!這正是我所需要的... – SpokaneDude 2012-03-07 22:14:27
糟糕...對不起,但沒有「seque.identifier.isEqualToString方法...我把 - (void)[prepareForSegue in ViewController.m,這是項目中唯一的控制器代碼,我做錯了什麼嗎? – SpokaneDude 2012-03-07 22:33:37
'-isEqualToString:'是NSString的一個方法(不是屬性),UIStoryboardSegue的''identifier'屬性是一個NSString *,所以你使用它,就像我在上面的代碼中顯示的那樣。 'BOOL isEqual = [segue.identifier isEqualToString:@「foo」];'。的確,您可以使用點語法來調用任何不帶參數的方法(儘管您應該只用它來表示屬性),但'-isEqualToString:'*確實需要一個參數,所以點語法是完全沒有的。 – Caleb 2012-03-07 22:44:01