Eltávolítása MKMapView kommentárok okoz szivárog

szavazat
1

Már főtt nagyon komplex webes szolgáltatások és keresések le az egyszerű alábbi kódot. Azt kell tudni, hogy írj kommentárokat térkép válaszul egy keresési (vagy az alábbi mintát a egy gombnyomással), majd hagyja, hogy a felhasználót, hogy kattintson a gombot, és kap egy sor új eredményeket. A valóságban nem lesz egy másik számot, de a leegyszerűsített példa, mindig adjunk hozzá egy feljegyzést mapview. Úgy vélem, az én kódot kell távolítani a meglévő jelölések, és adjunk hozzá egy újat, de szivárog 32 bájt a második és az azt követő gombnyomásra. Mi hiányzik? (Vagy megtartva az esetben!)

testViewController.h

#import <UIKit / UIKit.h>
#import <MapKit / MapKit.h>
#import MyMark.h

@interface testViewController: UIViewController {
    MKMapView * mapView;
}

@end

testViewController.m

- (ID) initWithNibName: (NSString *) nibNameOrNil köteg: (NSBundle *) nibBundleOrNil {
    ha (self = [Super initWithNibName: nibNameOrNil köteg: nibBundleOrNil]) {
        // Egyedi inicializálási
        self.title = @ teszt;
    }
    visszatér önálló;
}

- (void) storeLocationInfo: (CLLocationCoordinate2D) loc cím: (NSString *) t felirat: (NSString *) st-index: (int) i {
    NSArray * jelölések = [mapView kommentárok];
    [MapView removeAnnotations: jelölések];

    MyMark * mymark = [[MyMark alloc] initWithCoordinate: loc];
    [MapView addAnnotation: mymark];
    [MyMark kiadás];
}

- (void) viewDidLoad {
    [Super viewDidLoad];
    UIBarButtonItem * barButton = [[UIBarButtonItem alloc-] initWithTitle: @ Add pont térképének stílus: UIBarButtonItemStylePlain cél: önálló cselekvés: @selector (addPushed)];
    [Self.navigationItem setRightBarButtonItem: barButton];
    [BarButton kiadás];

    mapView = [[MKMapView alloc] initWithFrame: CGRectMake (0.0,0.0, self.view.frame.size.width, self.view.frame.size.height)];
    mapView.showsUserLocation = FALSE;
    mapView.delegate = self;
    [Self.view insertSubview: mapView atIndex: 0];
    [MapView kiadás];
}

- (void) addPushed {
    MKCoordinateRegion reg = mapView.region;
    [Self storeLocationInfo: reg.center cím: @ ár felirat: @ cím index: 1];
}

- (void) dealloc {
    [Super dealloc];
}

MyMark.h

#import <Foundation / Foundation.h>
#import <MapKit / MapKit.h>


@interface MyMark: NSObject <MKAnnotation> {
    CLLocationCoordinate2D koordinálja;
    NSString * cím;
    NSString * felirat;
    int index;
}
@property (nonatomic, csak olvasható) CLLocationCoordinate2D koordinálja;
@property (nonatomic, csak olvasható) int index;
@property (nonatomic, megtartja) NSString * cím;
@property (nonatomic, megtartja) NSString * felirat;
- (id) initWithCoordinate: (CLLocationCoordinate2D) koordinálja;
- (id) setCoordinate: (CLLocationCoordinate2D) koordinálja;
- (ID) setTitle: (NSString *) t felirat: (NSString *) st-index: (int) i;

@end

MyMark.m

#import MyMark.h


@implementation MyMark
@synthesize koordinálja, index;
@synthesize cím, alcím;

- (ID) initWithCoordinate: (CLLocationCoordinate2D) c {
    koordináta = C;
    NSLog (@ % f,% f, c.latitude, c.longitude);
    visszatér önálló;
}

- (ID) setCoordinate: (CLLocationCoordinate2D) c {
    koordináta = C;
    NSLog (@ % f,% f, c.latitude, c.longitude);
    visszatér önálló;
}

- (ID) setTitle: (NSString *) t felirat: (NSString *) st-index: (int) i {
    self.title = t;
    self.subtitle = st;
    index = i;
    visszatér önálló;
}

- (void) dealloc {
    [Cím kiadás];
    [Felirat kiadás];
    [Super dealloc];
}
A kérdést 03/09/2009 11:26
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
4

Te nem felszabadító mymarkin storeLocationInfo:title:subtitle:index:. Úgy tűnik, a probléma az, gépelési hiba. A következő sort

[MyMark release];

kellene

[mymark release];

Megjegyzés esetében különbséget. Az első sorban elküldi releaseaz osztály, nem a fokon.

Válaszolt 29/09/2009 17:16
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more