顯示廣告
隱藏 ✕
看板 KnucklesNote
作者 Knuckles (站長 那克斯)
標題 [Xcode][Swift3] 使用 Unwind 跳至之前任一個 ViewController
時間 2017-05-06 Sat. 00:56:25


例如從文章列表頁 → 閱讀文章頁 → 編輯文章頁
TextListViewController → TextViewController → EditorViewController
[圖]

如果是使用「回覆文章」,希望能在編輯文章頁點了「發佈文章」後,
不要回到閱讀文章頁,而是直接跳回文章列表頁,並執行 refresh() 重整資料

先在 TextListViewController 加上一個 @IBAction unwindToTextList
    @IBAction func unwindToTextList(segue: UIStoryboardSegue) {
        refresh(self)
    }
裡面可以加上跳回來時要執行的程式
例如使用 refresh() 重整文章列表,讓新的文章顯示出來


在編輯文章頁,按著 Ctrl 將 Button 或 Controller 拉至 Exit
跳出的選單選「unwindToTextListWithSegue:」
會產生一個 Unwind segue
[圖]

因為這邊沒有 Button 可以拉,所以使用 Controller 拉
之後再用程式執行換頁

使用 Controller 拉 Segue 的話,會出現警告
要求 Segue 必需加上 Identifier

點一下剛剛產生的 Unwind segue
輸入 Identifier 為「UnwindToTextList」
[圖]



修改 EditorViewController.swift

在回覆文章完成後,執行
        self.performSegue(withIdentifier: "UnwindToTextList", sender: self)
即可直接跳至文章列表頁,並執行文章列表頁的 @IBAction unwindToTextList()


參考
StackOverflow What are Unwind segues for and how do you use them?

--
※ 作者: Knuckles 時間: 2017-05-06 00:56:25
※ 編輯: Knuckles 時間: 2017-05-06 19:46:42
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 366 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇
看板名稱: 確定(Enter) 取消(Esc) 搜尋(Space)
查詢帳號: 確定(Enter) 取消(Esc) 搜尋(Space)
搜尋: m)m文 b)進板 c)未分類 a)作者 /)標題 q)取消?[q]

搜尋 送出(Enter) 取消(Esc)

回覆文章至: f)看板 m)作者信箱 b)兩者皆是 q)取消?[f]
要引用原文嗎? y)引用原文 n)不引用 a)全部回覆 r)複製原文 q)取消?[y]
轉錄本文章於看板: 1)使用連結 2)使用複製 q)取消 ?[1]
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc) 全部(a)

確定要刪除這篇文章?(可按大U救回) 確定(Enter) 取消(Esc)

刪除理由:

確定(Enter) 取消(Esc)
加到這個分類: 確定(Enter) 下一層(→) 回上層(←) 取消(Esc)
你覺得這篇文章: 1)真讚 2)真瞎 q)取消?[1] (再選一次即可收回)
你覺得這篇文章: 1)值得推薦 2)表示反對 3)單純註解 q)取消?[3]
guest
預覽(Enter) 取消(Esc)
上傳圖片
按ctrl+Enter可輸入下一行。
guest
確定要送出? 確定(Enter) 取消(Esc) 繼續(e)
搜尋: 送出(Enter) 取消(Esc)

▏▎▍▌▋▊▉ 請按任意鍵繼續