核心数据分别从日志显示属性

时间:2018-11-15 11:49:37

标签: swift uitableview core-data

所以我一直在尝试将Core Data与记录信息的日志应用程序一起使用。在这种情况下,它是飞行时间。所以我输入了数据,它使用Core Data来保存/存储它是一个设置值,但是我只是让它在表视图中显示了少量的已保存信息(请参见下面的代码)。

我需要它的帮助,因此我可以单击每个tableViewCell,它会转到VC,其中包含用户输入到应用程序中的所有信息(因为它是一本日志)

如何可能使用户看到该特定单元格的特定信息,因为它们都是不同的日志,因此存储了不同的信息

    func numberOfSections(in tableView: UITableView) -> Int {
    return 1
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return logArray.count
}
//WHATS IN THE TABLE VIEW CELL FUNCTION/////
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) 
    let log = logArray[indexPath.row]
    cell.textLabel!.text = "Flight:" + "  " + log.date! + "      Click For More Info -->"
    return cell
}

1 个答案:

答案 0 :(得分:0)

首先创建用于登录UITableViewCell的变量

var log: Log?

现在在cellForRowAt中设置独立于indexPath.row的单元格的日志

cell.log = logArray[indexPath.row]

然后在第二个ViewController中创建变量。

var selectedLog: Log?

现在,Table View委托方法didSelectRowAt使用发送者作为该单元格来执行segue

 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
self.performSegueWithIdentifier("yourIdentifier", sender: tableView.cellForRow(at: indexPath))
}

最后,在准备segue方法时,将目标ViewController声明为YourSecondViewController并设置其selectedLogProperty

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
    if segue.identifier == "yourIdentifier" {
         let destinationVC = segue.destination as! YourSecond ViewController
         let senderCell = sender as! YourTableViewCell
         destinationVC.selectedLog = senderCell.log!
    }
}