user2924482
user2924482

Reputation: 9120

iOS CLLocation property doesn't retain value

I'm trying to save on memory the self.mapView.userLocation.location in CLLocation property but after I assign the value to the property and I check the value of the property I get this:

<+0.00000000,+0.00000000> +/- 0.00m (speed -1.00 mps / course -1.00) @ 1/19/14 4:21:14

Here is my code:

.h:

@property (retain, nonatomic) CLLocation *currentlocation;

on my .m

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
    if (self.currentlocation != self.mapView.userLocation.location)
    {
       self.currentlocation = self.mapView.userLocation.location;
    }

}

My question is who can I retain the value of self.mapView.userLocation.location on self.currentlocation and keep it on memory?

I'll really appreciate you help.

Upvotes: 1

Views: 341

Answers (1)

hsoi
hsoi

Reputation: 2764

You are assigning a pointer to another pointer. So you are actually just storing a reference to the MKUserLocation's location.

It sounds like you want to store the value at that time, not wanting it to change. If so:

 self.currentLocation = [self.mapView.userLocation.location copy];

Storing a copy should get you what you want.

Upvotes: 2

Related Questions