Вот так я получаю значения из CoreData в свой UITableView.Обратите внимание, что я разместил пользовательскую ячейку, в которой используются метка и изображение.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as? CellTableViewCell
let cars = carsArray[indexPath.row]
cell?.lblNoPlate.text = cars.carNoPlate
cell?.imgView.image = UIImage(data: cars.image!)
return cell!
}
Глядя на некоторые учебные пособия и ответы, мне сказали передать значения в новый ViewController примерно так:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let Storyboard = UIStoryboard(name: "Main", bundle: nil)
let DvC = Storyboard.instantiateViewController(withIdentifier: "CarDetailsAdminViewController") as! CarDetailsAdminViewController
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as? CellTableViewCell
DvC.NoPlate = (cell?.lblNoPlate.text)!
self.navigationController?.pushViewController(DvC, animated: true)
}
Все работает отлично.Просто, когда я нажимаю на любую ячейку, она переходит к новому контроллеру представления, но в том месте, где я хочу передать строку, она просто говорит «Метка».Я предполагаю, что Label - это текст по умолчанию, который назначается любому UILabel в swift.Невозможно передать фактические данные, которые отображаются в UITableView.Вместо этого, независимо от того, какую ячейку я выбираю, всегда отображается «Метка»