我创建了MKMapView的单例类,该类在许多类中用于打开和关闭showsUserLocation和跟踪方法。该代码似乎适用于单例类。但是,它对模拟器中的实际地图没有影响。我相信MKMapView中的Storyboard实际上不是Singleton类的实例,即使我在Interface Builder自定义类类别中更改了它的类并为其创建了一个IBOutlet。如何确定Storyboard中的映射与我的代码正在影响的映射相同?

最佳答案

您可以覆盖initWithCoder:方法。这是从情节提要中取消存档类的方法。

static MyMapView *map = nil;

- (instancetype)initWithCoder:(NSCoder *)coder
{
    if (map) {
        return map;
    }
    else {
        @synchronized (self) {
            if (!map) {
                map = [super initWithCoder:coder];
            }
            return map;
        }
    }
}


注意:我从未实现过此功能,因此可能需要进行调整。

关于ios - 如何在Storyboard中将MKMapView的单例类设置为 map ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27329410/

10-10 21:10