Когда ячейка таблицы выбрана, я хочу, чтобы она заполняла текстовые поля в моем подробном представлении после segue.
Вот один способ, который я нашел на этом сайте (я пробовал другие способы, которые я видел здесь, нобыли ошибки / проблемы при переводе кода для использования с основными данными и / или пользовательскими ячейками), который не возвращает ошибок, но не заполняет поля
func tableView(_ tableView: UITableView,
cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
//(print(tableView.dequeueReusableCell(withIdentifier: "PartyCell", for: indexPath)))
// get selected row (party)
let party = parties[indexPath.row] as NSManagedObject
// create custom cell
let cell = tableView.dequeueReusableCell(withIdentifier: "PartyCell",
for: indexPath) as! PartyCell
// Update the custom cell labels with information from record
cell.nameLabel?.text = party.value(forKeyPath: "name") as? String
cell.sizeLabel.text = party.value(forKeyPath: "size") as? String
cell.contactLabel.text = party.value(forKeyPath: "contact") as? String
cell.locationLabel.text = party.value(forKeyPath: "location") as? String
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
// Create a variable that you want to send based on the destination view controller
// Get a reference to the data by using indexPath shown below
let party = parties[indexPath.row]
// Create an instance of DestinationViewController and pass the variable
let destinationVC = DetailViewController()
destinationVC.nameField.text = party.value(forKeyPath: "name") as? String
destinationVC.sizeField.text = party.value(forKeyPath: "size") as? String
destinationVC.contactField.text = party.value(forKeyPath: "contact") as? String
destinationVC.locationField.text = party.value(forKeyPath: "name") as? String
// Let's assume that the segue name is called playerSegue
// This will perform the segue and pre-load the variable for you to use
destinationVC.performSegue(withIdentifier: "mySegue", sender: self)
}
А вот подробный вид с выходными соединениямиустановлено
import Foundation
import UIKit
import CoreData
class DetailViewController: UIViewController
{
//let party = NSEntityDescription.insertNewObjectForEntityForName("Party", inManagedObjectContext: managedObjectContext) as! Party
@IBOutlet weak var nameField: UITextField!
@IBOutlet weak var sizeField: UITextField!
@IBOutlet weak var contactField: UITextField!
@IBOutlet weak var locationField: UITextField!
override func viewWillAppear(_ animated: Bool)
{
}
}