• 获取当前位置


    http://stackoverflow.com/questions/3535800/cllocationmanager-strange-memory-leak

    #import <Foundation/Foundation.h>

    #import <CoreLocation/CoreLocation.h>

    @protocol MapLocationManagerDelegate 

    @required

    - (void)locationUpdate:(CLLocation *)location;

    - (void)locationError:(NSError *)error;

    @end

    @interface MapLocationManager : NSObject <CLLocationManagerDelegate>{

    CLLocationManager *locationManage;

    id delegate;

    }

    @property (nonatomic, retain) CLLocationManager *locationManage;

    @property (nonatomic, assign) id delegate;

    @end

    /*  

    //调用例子

     h文件

     #import <UIKit/UIKit.h>

     

     #import "CoreLocationController.h"

     

     @interface CoreLocationDemoViewController : UIViewController <MapLocationManagerDelegate > {

     MapLocationManager *CLController;

     IBOutlet UILabel *locLabel;

     }

     

     @property (nonatomic, retain)  MapLocationManager *CLController;

     

     @end

     

     m文件

     

     - (void)viewDidLoad {

     [super viewDidLoad];

     

     CLController = [[ MapLocationManager alloc] init];

     CLController.delegate = self;

     [CLController.locMgr startUpdatingLocation];

     }

     

     - (void)locationUpdate:(CLLocation *)location {

     locLabel.text = [location description];

     }

     

     - (void)locationError:(NSError *)error {

     locLabel.text = [error description];

     }

     

     - (void)didReceiveMemoryWarning {

     [super didReceiveMemoryWarning];

     }

     

     

     - (void)dealloc {

     [CLController release];

     [super dealloc];

     }

     

    */

    m

    #import "MapLocationManage.h"

    @implementation MapLocationManager

    @synthesize locationManage, delegate;

    - (id) init {

    self = [super init];

    if(self != nil) {

    self.locationManage = [[[CLLocationManager alloc] init] autorelease];

    self.locationManage.delegate = self;

    [self performSelector:@selector(stopUpdate) withObject:@"Timed Out" afterDelay:10.0];

    }

    return self;

    }

    - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation

    {

    if([self.delegate conformsToProtocol:@protocol(MapLocationManagerDelegate)]) {

    [self.delegate locationUpdate:newLocation];

    }

    }

    - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{

    if([self.delegate conformsToProtocol:@protocol(MapLocationManagerDelegate)]) {

    [self.delegate locationError:error];

    }

    }

    -(void)stopUpdate

    {

    [self.locationManage stopUpdatingLocation];

    }

    - (void)dealloc {

        [self.locationManage release];

    [super dealloc];

    }

    @end

  • 相关阅读:
    OpenJudge 3765(最大权闭合图,最小割
    多校8-1010 HDU5389 (dp
    570D Codeforces Round #316 (Div. 2) D(dfs序,时间戳,二分
    CodeForces
    hiho一下!
    HDU 4123(树上任意点到其他点的最远距离,rmq
    Oracle创建索引;查询索引
    HBase启动和停止命令
    flink dom4j冲突异常
    flink checkpoint状态储存三种方式选择
  • 原文地址:https://www.cnblogs.com/zzxap/p/2175605.html
Copyright © 2020-2023  润新知