Ios 在VC和x2019之间传递CoreData对象;s
我正在寻求一些澄清,希望有人能帮助我理解 我的应用程序完全是以编程方式构建的,我根本不使用故事板,因此我没有任何分段 我试图通过tableView的Ios 在VC和x2019之间传递CoreData对象;s,ios,swift,uitableview,core-data,Ios,Swift,Uitableview,Core Data,我正在寻求一些澄清,希望有人能帮助我理解 我的应用程序完全是以编程方式构建的,我根本不使用故事板,因此我没有任何分段 我试图通过tableView的didSelectRowAt方法将CoreData对象从一个VC传递到另一个VC 我在indexPath中正确地返回了对象,但在将该对象传递给新VC时似乎存在问题 在这个代码摘录中,我目前唯一关心的是传递CoreData对象,这样我就可以访问所有相关数据 ie:当这个地方经过时,我想打印名字、纬度、经度 这将允许我继续应用程序,并在新的VC中使用这些
didSelectRowAt
方法将CoreData对象从一个VC传递到另一个VC
我在indexPath中正确地返回了对象,但在将该对象传递给新VC时似乎存在问题
在这个代码摘录中,我目前唯一关心的是传递CoreData对象,这样我就可以访问所有相关数据
ie:当这个地方经过时,我想打印名字、纬度、经度
这将允许我继续应用程序,并在新的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()
中,发生了以下情况
如果我选择单击letplaceOnMap
,我会得到
声明:let placeOnMap:PlaceEntity
代码行…destVC.placePassed=placeOnMap
,给出以下错误
无法将“PlaceEntity”类型的值分配给“PlaceEntity?”类型。类型
在MapVC()上
如果我选择点击placePassed
var,我会得到
声明:让placePassed:PlaceEntity?.Type
此外,这行代码…var placePassed=PlaceEntity?
,给出了以下错误
类型名称后应为成员名称或构造函数调用
如果我在destVC上取消对print语句的注释,就会弹出这个错误
类型“PlaceEntity”没有成员“placeName”
我相信我的问题与我在接收VC上设置var的方式有关,因为它正在向声明的var添加.Type
这是我不理解的部分。谢谢在代码中看不到问题;您遇到了什么问题?@pbasdf感谢您的回复。我已经用附加信息更新了这个问题。将=替换为冒号,从而var placePassed:PlaceEntity?
。使用冒号表示“placePassed是“PlaceEntity”类型的变量”;using=表示“placePassed是类型“PlaceEntity”-因此是导致问题的.type。@pbasdf非常感谢。这就成功了。在学习时,靠近但没有正确理解是非常令人沮丧的。在代码中看不到问题;您遇到了什么问题?@pbasdf感谢您的回复。我已经用附加信息更新了这个问题。将=替换为冒号,从而var placePassed:PlaceEntity?
。使用冒号表示“placePassed是“PlaceEntity”类型的变量”;using=表示“placePassed是类型“PlaceEntity”-因此是导致问题的.type。@pbasdf非常感谢。这就成功了。当学习时,靠近却不能正确学习是很令人沮丧的。