2017-10-06 18 views
0

私は2つのビューコントローラを持っています.1つはテーブルビューで、もう1つはテーブルビューから選択したセルの内容を表示するものです。ビューコントローラとテーブルビューセルの両方にテキストフィールドがあります。ビューコントローラを表示するコンテンツのテキストフィールドのテキストを変更すると、私はtableviewに戻ったときに尊敬されたテーブルビューセルに同じ変更が必要です。データはシングルトンオブジェクトからアクセスしていることに注意してください。私はシングルトンで値を変更しようとしましたが、変更はビューコントローラ内で行われ、ビュービューのセルには影響しません。シングルトンの内容を変更する

func textFieldShouldReturn(_ textField: UITextField) -> Bool { 
    resignFirstResponder() 
    if(textField == carRating){ 
     let rating = Float(textField.text!) 
     secondInstanceForMyData.masterCarData[index].carRating = rating 
    } 
    return true 
} 

ここで、carRatingは、シングルトンインスタンス "secondInstanceForMyData"の要素です。このコードは、テーブルビューで選択された行のviewControllerにあります。今度は、テーブルビューに戻ると値を変更した後、尊重されたセルに変更はありません。どのように私は選択されたセルのインデックス値を持って、尊重テーブルセルの変更を達成することができます。

+0

どのようにあなたのtableViewにデータを取得していますか?データの変更があるたびにこれをリセットしていますか?最後に、 'tableView.reloadData()'を試してみてください。おそらく変更がありますが、tableViewには反映されていません。 – CodeNinja

+0

1トンオブジェクトからデータを取得しています。上記のコードでは、secondInstanceForMyDataは変数masterDataのインスタンスであり、masterDataは1トンのメンバーです。あなたが言ったように私はtableView.reloadData()を使用しています、毎回値の変更に戻ったときに、それぞれのtableViewセルに変更はありません。 – Harsha

答えて

0

あなたが戻ったときに、UITableViewでreloadDataまたはreloadRowsAtIndexPaths:withRowAnimation:に電話するだけでよいでしょう。

ここでは、は確かににあなたと働いているシングルトンを持っていると仮定しています - secondInstanceForMyDataには疑わしい名前が付けられています。

+0

あなたの提案通り、私はtableView.reloadData()を呼び出しましたが、尊重されたセルには何の変更もありません。 – Harsha