我想知道是否有任何方法強加if語句使用相同的segue。基本上我希望表中的相同視圖能夠到達,但是基於所選單元格,我希望它攜帶與用戶選擇相關的不同數據。例如,如果用戶在表格中選擇達拉斯,則不應在紐約顯示信息。基於單元格選擇的分段的任何「IF」聲明?
我是從一個視圖創建100個segues到下一個,還是有一種方法可以根據if語句攜帶相關數據?
任何幫助,非常感謝。
感謝
我想知道是否有任何方法強加if語句使用相同的segue。基本上我希望表中的相同視圖能夠到達,但是基於所選單元格,我希望它攜帶與用戶選擇相關的不同數據。例如,如果用戶在表格中選擇達拉斯,則不應在紐約顯示信息。基於單元格選擇的分段的任何「IF」聲明?
我是從一個視圖創建100個segues到下一個,還是有一種方法可以根據if語句攜帶相關數據?
任何幫助,非常感謝。
感謝
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Assume self.view is the table view NSIndexPath *path = [self.tableView indexPathForSelectedRow]; DetailObject *detail = [self detailForIndexPath:path]; [segue.destinationViewController setDetail:detail]; }
只是傳遞的信息或對象要顯示視圖控制器上。
這裏是你如何做到這一點....
這樣的事情,
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"Identifier of your segue"]) {
//Access the destination controller by, You can cast it to your custom controller class
UIViewController *destination = segue.destinationViewController;
//Do what u want
}
}
所以筆者認爲,ü要當一個細胞去一個特定視圖在表中被選中, 您需要從具有表格的控制器創建您想要轉到的控制器的segue。不要從單元格創建segue到控制器。
在tableView:didSelectRowAtIndexPath:
可以執行使用這個SEGUE ...
[self performSegueWithIdentifier:@"Your segue Identifier" sender:self];
的prepareForSegue:sender
將反正叫你可以爲目標控制器設定的數據。你現在只有一個賽格。
對於依賴於細胞的選擇更多信息Refer this
我發現這隻會在一個階段工作。所以如果我有一個被認爲是「第一」的segue,並且想用第二個代碼調用它,那麼它會崩潰,說第二個不存在。除非我明白錯誤? – Tanner
@坦納,我編輯了答案,它有幫助..? – akshaynhegde
CTR +拖動從tablviewcontroller到的DetailView並給予標識符原因請看和使用以下方法
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"showRecipeDetail"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
RecipeDetailViewController *destViewController = segue.destinationViewController;
destViewController.recipeName = [recipes objectAtIndex:indexPath.row];
}
}
可以使用相同的SEGUE,並通過根據所選擇的要顯示的下一個視圖控制器上的信息細胞。沒有必要創建100個聯賽。 –
如何使用相同的segue傳遞基於單元格選擇的數據就是我所要求的。任何代碼或指針?林不知道如何說如果達拉斯加載這個列表與如果紐約加載這個列表。 – Tanner
我已經發布了一個答案,檢查它是否可以幫助你。 –