簡體   English   中英

ios swift 如何在導航欄中設置保存按鈕

[英]ios swift how to set a save button in the navigation bar

我有一個MainViewController ,它是一個表格視圖控制器,帶有自定義單元格,用戶可以在其中選擇一些數據。 這個MainViewController上有一個按鈕,可以轉到PreferencesViewController ,導航欄上有兩個按鈕,一個用於返回(現在工作正常),另一個用於save (這是我的問題)

這是PreferencesViewController導航欄的屏幕截圖: 在此處輸入圖片說明

我將一個 segue 從save欄按鈕拖回MainViewController

我的問題

當我點擊保存時, MainViewController出現,但沒有保存用戶已經選擇的值。 聽起來像是正在創建此MainViewContoller的新實例。

我在這里缺少什么? 我應該已經使用過哪些其他方法?

您需要將保存按鈕連接到 IBAction,而不是 segue。

在那個 IBAction 中,做任何你需要做的事情來保存你的數據,然后在代碼中做一個dismissViewController:animated: 調用你自己。

如果您想使用 segue,您將無法(輕松)保存您的數據,是的,它會創建一個新實例。

另一種方法是將您的保存按鈕連接到一個 unwind segue、回滾或展開一個或多個 segue 以返回到以前的視圖控制器。 為此,您必須將保存邏輯放在 prepareForSegue 中(使用代碼來測試正在調用哪個 segue 並且只保存以響應保存 segue。)

我自己找到了解決方案:

1-自定義委托:

2- self.navigationController?.popViewControllerAnimated(true)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM