1
我想通过一个NSManagedObject
之间2 ViewControllers
。 为此,我使用了一个全局变量。ViewControllers之间传递一个NSManagedObject
在第一viewcontroller
我有,在顶部(作为全局变量):
var choosenItem : NSManagedObject? = nil
我建立我表视图,我有这样的:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let choosenOne = listOfLands[indexPath.row]
let choosenItem = listOfLands[indexPath.row]
let viewController = storyboard?.instantiateViewController(withIdentifier: "ViewController2")
self.navigationController?.pushViewController(viewController!, animated: true)
print(choosenOne.objectID)
print(choosenItem.objectID)
}
当我打印所选择的objectId我得到了它们。所以我认为在这ViewController
一切工作正常。
在ViewController2我有这样的:
override func viewDidLoad() {
print(thatLand?.objectID) //result is nil
}
现在我不知道为什么,我在第二ViewController
得到零。 有没有办法通过这样的NSManagedObject
?
做到了。现在,当我这样做“viewController.thatLand = listOfLands [indexPath.row]”我收到一条消息,说ViewController2没有成员“thatLand”。我如何在vc2中初始化“thatLand”? –
@ H.N。我在谈论这个'print(thatLand?.objectID)'你提到了你的问题。 –
我也是,我告诉过你。我认为没关系。但是现在我得到“类型ViewController2的值不是成员thatLand”。 –