使用 Segue 傳送選取的 Table Cell 內容到下一個 View

来源:互联网 发布:考勤统计软件 编辑:程序博客网 时间:2024/06/08 10:51

 最近接了一個iOS的軟體開發專案,

由於是 obj-c 的初心者,在開發上難免會遇上一些看似很簡單但是卻又不知如何解決問題

分享一下剛剛遇上的問題解法,

我先從server上先要了一份資料清單回來後,將這份清單使用 UITableView 呈現列表,

然後將使用者點選的 UITableViewCell上的內容,傳送到下一個 VIEW(有拉 Segue)

依照以前使用其他語言的經驗,直覺應該是使用者選取的動作,這個事件會被先觸發,而後才是有關 Segue 的事件觸發

因此先在 tableView : didSelectRowAtIndexPath 的事件中,先記錄好使用者選取的內容

再透過 prepareForSegue 事件傳送內容到下一個VIEW

 

事實上,Segue prepareForSegue 會早於 tableView : didSelectRowAtIndexPath 被觸發

問題來了,我要怎樣在 Segue prepareForSegue 的事件內,知道使用者是選了第幾個選項?

 

 

01- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
02{
03    id target = segue.destinationViewController;
04    //使用者選取那一筆資料 
05    NSIndexPath *path = [self.tableView indexPathForSelectedRow];
06     //從server 下載回來的資料,放在一個 NSMutableArray 中,透過path.row可以取得內容
07    NSString *rowValue = [serverList objectAtIndex:path.row];
08    //Title 是VIEW內的定義好的變數 
09    [target setValue:rowValue forKey:@"Title"];
10}

本文出自 “記憶是苦難的開始” 博客,请务必保留此出处http://eddie0330.blog.51cto.com/4629767/890934

0 0