MKMapView Ek Açıklamalar Çıkarma sızıntıları neden olur

oy
1

Ben aşağı basit aşağıdaki kodu web hizmetleri ve aramaların çok karmaşık bir dizi haşlanmış ettik. Bir arama sonucunda bir harita için ek açıklamalar eklemek gerekiyor (veya bir düğmeye tıklayarak Aşağıdaki örnekteki), sonra kullanıcı tekrar butonuna tıklayın ve sonuçların yeni set almak için izin verir. Gerçekte farklı bir numara olacak, ama basitleştirilmiş örnekte, her zaman MapView bir ek açıklama eklemek. Benim kod Mevcut ek açıklamaları kaldırmak ve yeni bir tane ekleyin gerektiğine inanıyoruz, ama ikinci ve sonraki düğme iter üzerinde 32 bayt sızdırıyor. Neyi kaçırıyorum ? (Duruma göre Veya istinat!)

testViewController.h

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

@interface testViewController: UIViewController {
    MKMapView * MapView;
}

@son

testViewController.m

- (id) initWithNibName: (NSString *) nibNameOrNil demeti: (NSBundle *) nibBundleOrNil {
    Eğer (kendiliğinden = [süper initWithNibName: nibNameOrNil demeti: nibBundleOrNil]) {
        // Özel başlatma
        self.title = @ test;
    }
    kendini return;
}

- (void) storeLocationInfo: (CLLocationCoordinate2D) loc title: (NSString *) t altyazı: (NSString *) st endeksi: (int) i {
    NSArray * ek açıklamalar = [MapView açıklamalar];
    [MapView removeAnnotations: açıklamalar];

    MyMark * mymark = [[MyMark alloc] initWithCoordinate: kon];
    [MapView addAnnotation: mymark];
    [MyMark sürüm];
}

- (void) viewDidLoad {
    [Süper viewDidLoad];
    UIBarButtonItem * barButton = [[UIBarButtonItem alloc] initWithTitle: UIBarButtonItemStylePlain hedefi: kendinden eylemi: tarzı eşleştirmek için nokta ekle @ @selector (addPushed)];
    [Self.navigationItem setRightBarButtonItem: barButton];
    [BarButton sürüm];

    MapView = [[MKMapView alloc] initWithFrame: CGRectMake (0.0,0.0, self.view.frame.size.width, self.view.frame.size.height)];
    mapView.showsUserLocation = YANLIŞ;
    mapView.delegate = öz;
    [Self.view insertSubview: MapView atIndex: 0];
    [MapView sürüm];
}

- (void) addPushed {
    MKCoordinateRegion reg = mapView.region;
    [Öz storeLocationInfo: reg.center title: @ fiyat altyazı: @ title endeksi: 1];
}

- (void) dealloc {
    [Süper dealloc];
}

MyMark.h

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


@interface MyMark: NSObject <MKAnnotation> {
    koordine CLLocationCoordinate2D;
    * Başlık NSString;
    * Altyazı NSString;
    int indeksi;
}
@ özelliği (nonatomic, salt okunur) koordinat CLLocationCoordinate2D;
@ özelliği (nonatomic, salt okunur) int indeksi;
@ özelliği (nonatomic, muhafaza) NSString * başlık;
@ özelliği (nonatomic, muhafaza) NSString * alt başlık;
- (id) initWithCoordinate: (CLLocationCoordinate2D) koordine eder;
- (id) setCoordinate: (CLLocationCoordinate2D) koordine eder;
- (id) setTitle: (NSString *) t altyazı: (NSString *) st endeksi: (int) i;

@son

MyMark.m

#import MyMark.h


@implementation MyMark
@synthesize, dizin koordinat;
@synthesize başlık, alt-başlık;

- (id) initWithCoordinate: (CLLocationCoordinate2D) C {
    = C koordinat;
    NSLog (@ % f% f c.latitude, c.longitude);
    kendini return;
}

- (id) setCoordinate: (CLLocationCoordinate2D) C {
    = C koordinat;
    NSLog (@ % f% f c.latitude, c.longitude);
    kendini return;
}

- (id) setTitle: (NSString *) t altyazı: (NSString *) st endeksi: (int) i {
    self.title = d;
    self.subtitle = St;
    indeksi = i;
    kendini return;
}

- (void) dealloc {
    [Başlıktaki sürüm];
    [Altyazı sürüm];
    [Süper dealloc];
}
Oluştur 03/09/2009 saat 11:26
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
4

Sen serbest bırakmıyoruz mymarkiçinde storeLocationInfo:title:subtitle:index:. Sorun yazım hatası olduğu anlaşılıyor. okur hattı

[MyMark release];

olmalı

[mymark release];

Vaka farka dikkat edin. İlk satır gönderir releasesınıfın değil, örnek için.

Cevap 29/09/2009 saat 17:16
kaynak kullanıcı

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