2012-06-08 37 views
0

好吧,傳遞一個NSString的另一種觀點與故事板

我已經閱讀這一些問答& A的,但我需要能夠把它與我的代碼,我不是成功的,我希望有人能夠幫助我:-)

我有一個UITableViewController填充NSMUtableArray。

我想鏈接到每個條目,然後在具有UIWebView的DetailViewController中顯示該URL。

現在我有想將一個字符串從一個VC傳遞到下一個,但這似乎不起作用。

這是代碼我在第一TVC是相關的:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
int currentindex = [indexPath row]; 
switch (currentindex) { 
    case 0: 
      _urlAddress = @"http://localhost:8888/thePalmsMenu/breakfast_menu.php"; 

     break; 

    case 1: 

      _urlAddress = @"http://localhost:8888/thePalmsMenu/lunch_menu.php"; 

     break; 
    default: 
     break; 

} 

webVC *sView = [[webVC alloc] init]; 
sView.urlAddress = _urlAddress; 
[self.navigationController pushViewController:sView animated:YES]; 

} 

然後,我有這個在第二個視圖控制器,它有一個UIWebView它。

-(void)viewDidLoad 
{ 

    _vc.urlAddress = _urlAddress; 


    NSURL *url = [NSURL URLWithString:_urlAddress]; 
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
    [_webView loadRequest:requestObj]; 

} 

現在還此刻的代碼顯示我做一推導航,但不工作 - 如果我嵌入第一種觀點,然後我得到一個錯誤,說我不能把這種觀點的兩倍,因此他們必須是相關的。

這是該錯誤消息:

2012-06-08 22:23:28.965 menu_test [68491:F803]嵌套推動畫可導致損壞的導航欄 2012-06-08 22 :23:29.447 menu_test [68491:f803]完成處於意外狀態的導航轉換。導航欄子視圖樹可能會損壞。 2012-06-08 22:23:29.449 menu_test [68491:f803]對於開始/結束外觀轉換的不平衡呼叫。

現在即使這些看起來像2個問題,他們肯定會有關係。

另外我也試過玩NSUserDefaults,但那不是很流暢,因爲在我可以使用它之前需要設置鏈接,而不是直接傳遞它。

任何幫助將是巨大的:-)

+0

在你的故事板文件中,你是否將你的下一個細節視圖控制器「推」到單元格或視圖控制器本身? –

+0

它從單元格鏈接到VC –

回答

1

什麼是發生的是,你真的推視圖控制器兩次,第一次是從故事板推序列,第二次你的代碼做,

你有2個解決方案 我會記下最簡單的人(如果你需要第二個也請詢問)

您將需要從prepareForSegue方法傳遞數據

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([[segue identifier] isEqualToString:@"TheIdentifierOfYourDetailView"]) { 
     NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; 

     int currentindex = [indexPath row]; 
     switch (currentindex) { 
      case 0: 
       _urlAddress = @"http://localhost:8888/thePalmsMenu/breakfast_menu.php"; 

       break; 

      case 1: 

       _urlAddress = @"http://localhost:8888/thePalmsMenu/lunch_menu.php"; 

       break; 
      default: 
       break; 

     } 

     [[segue destinationViewController] setUrlAddress:_urlAddress]; 
    } 
} 
+0

謝謝 - 我完全滿意這個答案:-)我試過使用這種方法,但無法弄清楚如何將它與鏈接結合起來:-)超級和謝謝: - ) –

+0

非常歡迎,其他答案會更長:D所以我選擇使用這個:) –

相關問題