我有一个带有两个视图控制器的tabViewController,一个map和一个UIListView。我想将当前地图区域中心传递给listView控制器,但当前需要用户先点击UIListView控制器,然后返回地图,然后返回listView控制器,以便传递地图区域中心值。
我确定有一个简单而优雅的方法来解决这个问题,我只是不确定如何解决。
最佳答案
为什么不创建一个由某些视图控制器更新并由其他视图控制器读取的单例呢?这将是让两个原本不相关的视图控制器通信的首选方式,即使没有同时分配。
编辑
假设你有这样一门课:
class PointSingleton {
var point = CGPointZero
static let sharedPoint : PointSingleton = PointSingleton()
private init() {}
}
你现在可以
PointSingleton.sharedPoint.point = CGPoint(x: 2, y: 3)
以及使用
PointSingleton.sharedPoint.point
你想去哪儿都行。