Невозможно передать данные из UITableView в ViewController с помощью CoreData - PullRequest
0 голосов
/ 07 октября 2018

Вот так я получаю значения из 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.Вместо этого, независимо от того, какую ячейку я выбираю, всегда отображается «Метка»

1 Ответ

0 голосов
/ 07 октября 2018

Вместо удаления ячейки из очереди просто получите данные из вашего carsArray.

Измените свой метод didSelectRowAt следующим образом:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

    let Storyboard = UIStoryboard(name: "Main", bundle: nil)
    let DvC = Storyboard.instantiateViewController(withIdentifier: "CarDetailsAdminViewController") as! CarDetailsAdminViewController
    DvC.NoPlate = carsArray[indexPath.row].carNoPlate
    self.navigationController?.pushViewController(DvC, animated: true)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...