zoukankan      html  css  js  c++  java
  • 获取当前位置

    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

  • 相关阅读:
    spy++工具
    select 设置发送超时发送注意事项
    C++ Socket超时设置
    linux下的find文件查找命令与grep文件内容查找命令
    C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别
    vc6.0出现“cannot add new member”解决办法
    Nginx虚拟主机配置(20200202)
    Centos7内核版安装nginx环境问题及解决方法
    Nginx架构分析(20200202)
    软链接和硬链接——Linux中的文件共享
  • 原文地址:https://www.cnblogs.com/zzxap/p/2175605.html
Copyright © 2011-2022 走看看