如何封裝一個定位對象類

先說一下它的神奇之處:

1.類的本身是一個單例類,但是每次調(diào)用屬性,都能在此啟動實(shí)時定位獲取到當(dāng)前位置數(shù)據(jù),這樣就實(shí)現(xiàn)了可以重用公共類的目的了。

2.命名:方法初始化一般都用setup這邊也不例外

- (void)setup {

? ? ?if ([CLLocationManager locationServicesEnabled]) {

? ? ? ? ? ? ? ?_currentLocation = [[CLLocationManager alloc] init];

? ? ? ? ? ? ? ? _currentLocation.delegate = self;

? ? ? ? ? ? ? ?_currentLocation.distanceFilter = 200

? ? ? ? ? ? ? ?_currentLocation.desiredAccuracy = ? kCLLocationAccuracyNearestTenMeters;

? ? ? ? ? ? ? ? ?if (SYSTEM_VERSION >= 8.0) {

? ? ? ? ? ? ? ? ?[_currentLocation requestAlwaysAuthorization];

? ? ? ?}

? ? ? ? [_currentLocation startUpdatingLocation];

? ?} ?

}

3.每次用單例類調(diào)用這個block屬性都會重新定位,同時獲取到新的數(shù)據(jù),妙?。?!

- (void)getCurrentGeolocationsCompled:(GetLocationCompledBlock)compled{

? ? self.getLocationCompledBlock = compled;

? ? [_currentLocation startUpdatingLocation];

}

為了定位類不出bug注意點(diǎn):

1.plist設(shè)置兩個屬性

NSLocationAlwaysUsageDescription

NSLocationWhenInUseUsageDescription

2._geoCoder = [[CLGeocoder alloc] init]; 請?jiān)O(shè)成全局對象

[_geoCoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray* _Nullable placemarks, NSError * _Nullable error) {

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • http://www.cnblogs.com/kenshincui/p/4125570.html 摘要: 現(xiàn)在很多...
    大崔老師閱讀 3,475評論 1 2
  • 技術(shù)無極限,從菜鳥開始,從源碼開始。 由于公司目前項(xiàng)目還是用OC寫的項(xiàng)目,沒有升級swift 所以暫時SDWebI...
    充滿活力的早晨閱讀 12,848評論 0 2
  • 出自http://my.oschina.net/are1OfBlog/blog/420034 摘要 現(xiàn)在很多社交、...
    JJO閱讀 4,333評論 4 19
  • 時光沒有影子,溺水一樣,緩緩漫過每個人的身體。初三也算是人生中一個不大不小的轉(zhuǎn)折點(diǎn)了吧。 從小到大就被父母和老師灌...
    宇宙溪月閱讀 820評論 0 4
  • 說到隱私,其實(shí)每個人都會有自己不愿意見人就說的小秘密,很多時候連自己爸媽、閨蜜都不愿意說的話語我們稱為自己的...
    趙幫梅閱讀 780評論 2 0

友情鏈接更多精彩內(nèi)容