Остановить CLLocationManager Objective-C - PullRequest
0 голосов
/ 18 ноября 2011

Мне нужно обновить местоположение только один раз, но когда я пытаюсь остановиться, чтобы обновить его, он не работает ...

.h файл:

@protocol CoreLocationControllerDelegate 
@required
- (void)locationUpdate:(CLLocation *)location; // Our location updates are sent here
- (void)locationError:(NSError *)error; // Any errors are sent here
@end

@interface CoreLocationController : NSObject <CLLocationManagerDelegate>
{
    CLLocationManager * locMgr;
    id delegate;
}
@property (nonatomic, retain) CLLocationManager *locMgr;
@property (nonatomic, assign) id delegate;

@end

.mfile:

@synthesize locMgr,delegate;

    - (id)init {
        self = [super init];

        if(self != nil) {
            self.locMgr = [[[CLLocationManager alloc] init] autorelease]; // Create new instance of locMgr
            self.locMgr.delegate = self; // Set the delegate as self.
        }

        return self;
    }

    - (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
        if([self.delegate conformsToProtocol:@protocol(CoreLocationControllerDelegate)]) 
        {  // Check if the class assigning itself as the delegate conforms to our protocol.  If not, the message will go nowhere.  Not good.
            [self.delegate locationUpdate:newLocation];
            [self.locMgr stopUpdatingHeading];
            [self.locMgr setDelegate:nil];
        }
    }

    - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {
        if([self.delegate conformsToProtocol:@protocol(CoreLocationControllerDelegate)]) {  // Check if the class assigning itself as the delegate conforms to our protocol.  If not, the message will go nowhere.  Not good.
            [self.delegate locationError:error];
        }
    }

Я пытался в классе, и когда я объявляю это на моем viewcontroller, но оба не будут работать ....

1 Ответ

1 голос
/ 22 ноября 2011

Вы пытались использовать -stopUpdatingLocation вместо заголовка?

...