2017-09-12 11 views
0

私はナビゲーションコントローラが組み込まれたテーブルビューを持っています。私はUIBarButtonItem(追加)ボタンを追加しました。このボタンをクリックすると、ユーザーがデータを入力して送信する(Webサービス呼び出しを行う)新しいビューが開き、前のビューに戻ります。このナビゲーションは、以下に示すように、IOS swift UIBarButtonItemアクション

func addTapped(_ sender:UIBarButtonItem) { 
    print("Called Add") 
    let vc = (storyboard?.instantiateViewController(withIdentifier: "newNote")) as! newNoteVC 
    self.navigationController?.pushViewController(vc, animated: true) 
} 

そして、私は次の操作を実行し、新しいビューで、たまたま

@IBAction func saveButton(_ sender: UIButton) { 
    if (self.noteDescription.text?.isEmpty)! { 
     print("Enter missing note description") 
     return 
    } else { 
     let desc = self.noteDescription.text 
     self.uploadNote(noteText: desc!, noteDate: self.dateInMilliseconds) 
     self.navigationController?.popViewController(animated: true) 
    } 
} 

この方法でレコードが保存されますと、ビューがナビゲーションコントローラのスタックだけの事Iドンからポップます親ビュー内のテーブルビューデータをリフレッシュする方法です(すべてのレコードを読むために新しいhttpサービスコールを作成する必要があります)。

私は問題を説明できますか?どんな助けもありがとうございます。

+0

currentViewControllerまたは以前のテーブルをリフレッシュする必要がありますか? –

+2

私はあなたの 'UITableViewController'に新しいノートを戻すためにprotocol/delegateパターンを使うことを提案します。ここをクリックしてください:https://stackoverflow.com/questions/30618172/how-to-send-data-back-by-popviewcontrolleranimated-for-swift – toddg

+0

あなたが単純にそのデータを渡すことができたときにデータを取得するためにhttp要求をするためには、 1レコードバックしてテーブルビューに追加します – toddg

答えて

0

コメントに記載されているように、単にテーブルビューを更新するためのサービスコールを作成することは過度の可能性があります。これを実装する必要がビジネスシナリオがある場合は、あなたは親ビューコントローラで

FUNCのviewWillAppear

で同じことを行うことができます。このメソッドでサービス呼び出しを行い、データとともにテーブルビューをリロードすることができます。 viewWillAppearメソッドでサービスコールを行うと、ビューが表示されるたびにこれらが呼び出されるため、アプリケーションの全体的なナビゲーションを確認する必要があります。例:ナビゲートされたビューから戻ると、メソッドも呼び出されます。

関連する問題