最近接了一個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 |
03 | id target = segue.destinationViewController; |
05 | NSIndexPath *path = [self.tableView indexPathForSelectedRow]; |
07 | NSString *rowValue = [serverList objectAtIndex:path.row]; |
09 | [target setValue:rowValue forKey:@ "Title" ]; |
本文出自 “記憶是苦難的開始” 博客,请务必保留此出处http://eddie0330.blog.51cto.com/4629767/890934