在VC的

时间:2017-11-07 23:45:55

标签: ios swift uitableview core-data

我正在寻求一些澄清,希望有人能帮助我理解。

我的应用程序是完全以编程方式构建的,我根本不使用故事板,因此我没有任何分段。

我正在尝试通过tableView的didSelectRowAt方法将CoreData对象从一个VC传递到另一个VC。

我正确地在indexPath处返回了对象,但似乎在将该对象传递给新VC时遇到了问题。

在此代码提取中,我目前唯一关心的是获取CoreData对象,然后我可以访问所有相关数据。

即:当地方通过时,我想打印名称,纬度,经度。

这将允许我继续使用该应用程序并在新VC中使用该数据。

提前致谢。

//    PlacesVC

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

        let placeOnMap = fetchedResultsController.object(at: indexPath)

        let destVC = MapVC()
        destVC.placePassed = placeOnMap
        self.navigationController?.pushViewController(destVC, animated: true)

        print(placeOnMap.placeName!)
    }

//    MapVC

import UIKit

class MapVC: UIViewController {

    var placePassed = PlaceEntity?

    override func viewDidLoad() {
        super.viewDidLoad()

        view.backgroundColor = .green

    //  print(placePassed.placeName!)
    //  print(placePassed.latitude!)
    //  print(placePassed.longitude!)

    }
}

更新信息

PlacesVC()中,发生以下情况。

如果我选择点击let placeOnMap,我会......

Declaration: let placeOnMap: PlaceEntity

代码行... destVC.placePassed = placeOnMap会出现以下错误。

无法指定类型' PlaceEntity'的值输入' PlaceEntity?.Type'

MapVC()

如果我选择点击placePassed var,我会......

Declaration: let placePassed: PlaceEntity?.Type

此外,这行代码...... var placePassed = PlaceEntity?会出现以下错误。

类型名称后的预期成员名称或构造函数调用

如果我取消注释destVC上的print语句,则会弹出此错误...

输入' PlaceEntity?'没有会员' placeName'

我认为我的问题与我在接收VC上设置var的方式有关,因为它将.Type添加到声明的var。

这是我不理解的部分。感谢

0 个答案:

没有答案