0
私はTableViewCellのクリックでセグを、別のViewControllerにセーブボタンを押して保存ボタンでうまく動作しますが、バックバーボタンをクリックするとTableViewCellも変わります。どうすれば変更を破棄できますか? NoteTableViewControllerとNoteViewControllerSegueはバックバーボタンのデータを保存します
TableViewController方法は
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellIdentifier = "NoteTableViewCell"
let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! NoteTableViewCell
let note = notes[indexPath.row]
cell.noteLabel.text = note.note
return cell
}
TableViewControllerがセグエ法の準備
のtableView cellRowAt方法があります
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "ShowDetail" {
let noteDetailViewController = segue.destination as! NoteViewController
if let selectedNoteCell = sender as? NoteTableViewCell {
let indexPath = tableView.indexPath(for: selectedNoteCell)!
let selectedNote = notes[indexPath.row]
noteDetailViewController.note = selectedNote
noteDetailViewController.oldNote = someNote
}
}
}
このメソッドは、データを保存するためで、NoteViewControllerのsaveButtonにそれが接続されています
の@IBAction func unwindToNoteList(sender: UIStoryboardSegue) {
if let sourceViewController = sender.source as? NoteViewController {
let note = sourceViewController.note
if note?.note != nil {
if let selectedIndexPath = tableView.indexPathForSelectedRow {
notes[selectedIndexPath.row] = note!
tableView.reloadRows(at: [selectedIndexPath], with: .none)
} else {
let newIndexPath = NSIndexPath(row: notes.count, section: 0)
notes.append(note!)
tableView.insertRows(at: [newIndexPath as IndexPath], with: .top)
}
saveNotes()
}
}
}
NoteViewController方法
実装NSObjectのコピー()メソッドによって、
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if saveButton === sender as? UIBarButtonItem {
if let noteText = noteTextView.text {
note?.note = noteText
}
note?.toDate = remindDate
note?.image = photoImageView.image
} else {
note = oldNote
}
}
どういう意味ですか?新しいビューコントローラで選択したノートを変更すると、以前のビューコントローラのセル内のデータが変更されますが、セル内の変更情報は必要ありません。 –
は日付またはデータを保存しますか? – Retterdesdialogs
あなたは何を保存するのですか? –