如何在DetaliView中编辑UITableView的选定行以更新所选单元格的内容(核心数据)

时间:2017-03-11 18:45:17

标签: ios uitableview core-data swift3 tableviewcell

我正在使用Swift 3创建一个应用程序,向用户显示一个tableview。 image of tableView

用户可以添加,删除和编辑表格中的每个选定行。我想出了如何细分到细胞的详细视图。在详细视图中,我有两个文本字段,用户可以编辑这些字段以更改所选行的标题和详细信息。 image of detailView for selectedCell

我正在使用prepareForSegue方法来更改所选行的标题,方法是在详细视图中输入文本然后保存permanetly - 类似于联系人书籍的工作方式;您可以按下单元格,转到详细视图并编辑属性,保存更改。

我对segue方法的准备工作无效,当我在selectedCell的文本字段中输入文本时,它没有做任何事情。

这是我的准备方法:

fun prepareForSegue(segue: UIStoryBoardSegue, sender: UITableViewCell) {
    if segue.identifier == "details" {
    let path = self.placeTable.indexPathForSelectedRow!
    let selectedCell = placeTable.cellForRow(at: path)! as UITableViewCell
    let cellText: String? = selectedCell.textLabel?.text
    let cellDetails: String? = selectedCell.detailTextLabel?.text

let dest:DetailViewController? = segue.destination as?    DetailViewController
    dest?.enterNewName.text = cellText
dest?.enterNewDescrip.text = cellDetails

NSLog("did select and the text is \(cellText)")

DetailViewController.swift:

class DetailViewController: UIViewController {

var nameVar: NSString!

@IBOutlet weak var enterNewName: UITextField!


@IBOutlet weak var enterNewDescrip: UITextView!


@IBAction func cancel(_ sender: Any) {
}


@IBAction func done(_ sender: Any) {


let appDelegate = UIApplication.shared.delegate as! AppDelegate


    appDelegate.saveContext()


    }


   override func viewDidLoad() {
   super.viewDidLoad()


  }
override func didReceiveMemoryWarning() {
   super.didReceiveMemoryWarning()
 }}

我希望有任何建议可以指出我正确的方向。

0 个答案:

没有答案