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

  • 相关阅读:
    深入了解CSS字体度量,行高和vertical-align
    解决ios手机上传竖拍照片旋转90度问题
    HTML5图片上传本地预览
    前端本地文件操作与上传
    前端基础进阶(一):内存空间详细图解
    js小知识-数组去重
    SQL Server物化视图学习笔记
    MindMaster学习笔记
    c#Lock学习笔记
    oauth2.0学习笔记(摘抄简化)
  • 原文地址:https://www.cnblogs.com/zzxap/p/2175605.html
Copyright © 2011-2022 走看看