2014-12-06 33 views
0

我創建了一個MKMapView的單例類,用於跨許多類來打開和關閉showsUserLocation和跟蹤方法。該代碼似乎在單身人士課程上工作;但是,它對模擬器中的實際地圖沒有影響。我相信Storyboard中的MKMapView實際上並不是Singleton類的實例,儘管我在Interface Builder Custom Class類別中更改了它的類,併爲其創建了IBOutlet。如何確保Storyboard中的地圖與我的代碼所影響的地圖相同?如何將單例類的MKMapView設置爲Storyboard中的地圖?

回答

0

您可以覆蓋initWithCoder:方法。這是調用從故事板中取消存檔類的方法。

static MyMapView *map = nil; 

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

注:我從來沒有實現過,所以它可能需要調整。

2
class var GsharedInstance: GoogleMap { 
    struct Static { 
     static let instance: GoogleMap = GoogleMap() 
    } 
    return Static.instance 
} 

簡單的方法斯威夫特

相關問題