codeTools

015-首页 模拟器定位

2017-03-02  本文已影响8人  ArrQing

1 新建一个类 声明 代理
2 实现 在 想要 定位的 c 中 来实现 用到 协议 建立 类的 属性

import <Foundation/Foundation.h>

@protocol JFLocationDelegate <NSObject>

/// 定位中

/**
当前位置

@param locationDictionary 位置信息字典
*/

/**
拒绝定位后回调的代理

@param message 提示信息
*/

/**
定位失败回调的代理

@param message 提示信息
*/

@end

@interface JFLocation : NSObject

@property (nonatomic, strong) id<JFLocationDelegate> delegate;
@end

2 实现 定位

import "JFLocation.h"

import <CoreLocation/CoreLocation.h>

@interface JFLocation ()<CLLocationManagerDelegate>

@property (nonatomic, strong) CLLocationManager *locationManager;
@end

@implementation JFLocation

pragma mark CLLocationManagerDelegate

@end

c 中 要实现的 对应的 协议方法

pragma mark --- JFLocationDelegate 开机定位

//定位中...

//定位成功

if (![_leftButton.titleLabel.text isEqualToString:city]) {
    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:[NSString stringWithFormat:@"您定位到%@,确定切换城市吗?",city] preferredStyle:UIAlertControllerStyleAlert];
    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
    UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        [_leftButton setTitle:city forState:UIControlStateNormal];
        [KCURRENTCITYINFODEFAULTS setObject:city forKey:@"locationCity"];
        [KCURRENTCITYINFODEFAULTS setObject:city forKey:@"currentCity"];
        [self.manager cityNumberWithCity:city cityNumber:^(NSString *cityNumber) {
            [KCURRENTCITYINFODEFAULTS setObject:cityNumber forKey:@"cityNumber"];
        }];
    }];
    [alertController addAction:cancelAction];
    [alertController addAction:okAction];
    [self presentViewController:alertController animated:YES completion:nil];
}

}

/// 拒绝定位

/// 定位失败

上一篇下一篇

猜你喜欢

热点阅读