如何在Swift中使用UUID在UITableVIews之间传递数据

时间:2016-12-08 13:27:30

标签: ios swift core-data tableview

我有两个UITableViewController个。我正在使用核心数据并使用uuid保存文本。我的firstTableViewController包含一些单元格,当您点击其中一个单元格时,它会被绑定到secondTableViewController,您可以在UIActionController创建单元格,如下所示。

在我的firstTableViewController中:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

    if(segue.identifier == "note"){

        let cell = sender as? UITableViewCell
        let indexPath = tableView.indexPath(for: cell!)
        //Core Data
        let item: Folder
        item = self.folders[indexPath!.row]

        let dvc = segue.destination as! SecondTableViewController
        dvc.topTItle = item.name!
    }
}

在我的secondViewController中:

var notes = [Note]()
var topTItle = ""

override func viewDidLoad() {
    super.viewDidLoad()

    self.title = topTItle

    let rightButton = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(NoteTableViewController.setFolder))
    self.navigationItem.rightBarButtonItem = rightButton

    getData()
}

let save = UIAlertAction(title: "Save", style: .default, handler: {
    (UIAlertAction) -> Void in

    let textInput = alert.textFields![0] as UITextField

    let uuid = UUID().uuidString
    //toptitle is basically the title of the navigation

    self.singelton.addNote(name: textInput.text!, uuid: self.topTItle + uuid)


    DispatchQueue.main.async{
        self.getData()
        self.tableView.reloadData()
    }
})


func getData(){
    notes = singelton.getFolderData()

    self.tableView.reloadData()
}

但是,新创建的单元格不仅属于firsttableViewController中的单元格,而且当您转到firstTableViewController时,来自secondTableViewController的所有单元格都具有相同的数据。“ / p>

正如您在上面的代码中所看到的,我使用了toptitleuuid,但它无效。

0 个答案:

没有答案