[英]How to pass data of the second table view cell when i click the first table view cell
[英]Going into a second table view when i click on a table view cell of a first table view?
嗨,我正在開發一個標准的Master-Detail Applicaton。
當您在xcode中創建一個主從應用程序時(我的意思是它在創建新項目時建議的應用程序),xcode會創建一個導航控制器,一個表視圖和一個詳細視圖,單擊uitableview單元格時的默認行為是:繼續查看詳細信息。 我想改為使用另一個表視圖(當然我已經在情節提要中創建了該視圖)。 我的目的是根據我在第一個表格視圖中單擊 ( 單擊的單元格)顯示一個過濾值列表。
因此,我嘗試從圖形情節提要中完成此操作,我嘗試將箭頭從第一個標准表視圖拖動到第二個新的視圖。 選擇手動segue =顯示。 我什至刪除了“原始”箭頭,該箭頭將第一標准表視圖鏈接到詳細信息視圖(由xcode提出)。
但是,當我單擊模擬器中的表格視圖單元格時,單擊的單元格變為灰色, 什么也沒有發生 。
單擊第一個“表格視圖”單元格時如何顯示第二個過濾后的表格視圖? 我應該怎么做才能做到這一點?
附言 我是iOS編程,objective-c和cocoa touch框架的初學者。 我使用xcode標簽,因為我想知道可以從情節提要板中(圖形方式)完成我需要做的事情。
這是非常基本的。 簡而言之:在切換到新的TableViewController之前,您需要根據單擊的單元格在prepareForSegue
填充已過濾的數據。
Apple主題文檔: Apple Doc-使用表視圖導航數據層次結構很好的答案是在這里: https : //stackoverflow.com/a/19806545/1195661
如果要在單擊“主”表視圖單元時顯示“詳細”表視圖,則可以使用ctrl-drag進行此操作。 從主視圖的原型單元(選擇它)到情節提要中的第二個表格視圖,然后選擇“ show detail
選項以創建序列。
單擊segue並在屬性檢查器中檢查其名稱,它應該是showDetail,就像在MasterViewController.swift文件中,您應該查看此函數一樣,在prepareForSegue中,您可以設置過濾結果:另外:setDetailItem:object應該更改為另一個功能,由於您創建的tableView場景將沒有detailItem屬性,因此您可以在h文件中添加一個屬性,並通過prepareForSegue對其進行設置
#pragma mark - Segues
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"showDetail"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
NSDate *object = self.objects[indexPath.row];
[[segue destinationViewController] setDetailItem:object];
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.