Ich habe eine sehr komplexe Reihe von Web-Service und sucht eingekocht den einfachen folgenden Code ein. Ich muß in der Lage seine Anmerkungen zu einer Suche auf eine Karte als Reaktion hinzuzufügen (oder in der Probe unten an den Klick auf eine Schaltfläche), erlaubt dann der Benutzer die Taste erneut klicken und einen neuen Satz von Ergebnissen. In Wirklichkeit gibt es eine andere Zahl sein, aber in dem vereinfachten Beispiel, wir immer eine Anmerkung zu dem mapview hinzuzufügen. Ich glaube, mein Code sollte die vorhandenen Anmerkungen entfernen und eine neue hinzufügen, aber es leckt 32 Bytes auf den zweiten und nachfolgenden Taste drückt. Was vermisse ich ? (Oder halten wie der Fall sein kann!)
testViewController.h
#import <UIKit / UIKit.h>
#import <MapKit / MapKit.h>
#import MyMark.h
@interface testViewController: UIViewController {
MKMapView * mapView;
}
@Ende
testViewController.m
- (id) initWithNibName: (NSString *) nibNameOrNil Bundle: (NSBundle *) nibBundleOrNil {
if (self = [super initWithNibName: nibNameOrNil Bundle: nibBundleOrNil]) {
// Benutzerdefinierte Initialisierung
self.title = @ test;
}
Rückkehr selbst;
}
- (void) storeLocationInfo: (CLLocationCoordinate2D) loc Titel: (NSString *) t Untertitel: (NSString *) st Index: (int) i {
NSArray * Anmerkungen = [mapView Anmerkungen];
[MapView RemoveAnnotations: Anmerkungen];
MyMark * mymark = [[MyMark alloc] initWithCoordinate: loc];
[MapView AddAnnotation: mymark];
[MyMark Release];
}
- (void) {viewDidLoad
[Super viewDidLoad];
UIBarButtonItem * barButton = [[UIBarButtonItem alloc] initwithtitle: @ Punkt hinzufügen Karte style: UIBarButtonItemStylePlain Ziel: Selbst Aktion: @selector (addPushed)];
[Self.navigationItem setRightBarButtonItem: barButton];
[BarButton Release];
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 Release];
}
- (void) {addPushed
MKCoordinateRegion reg = mapView.region;
[Self storeLocationInfo: reg.center Titel: @ Preis Untertitel: @ title index: 1];
}
- (void) {dealloc
[Super dealloc];
}
MyMark.h
#import <Foundation / Foundation.h>
#import <MapKit / MapKit.h>
@interface MyMark: NSObject <MKAnnotation> {
CLLocationCoordinate2D koordinieren;
NSString * Titel;
NSString * Untertitel;
int index;
}
@property (nonatomic, nur lesbar) CLLocationCoordinate2D koordinieren;
@property (nonatomic, nur lesbar) int index;
@property (nonatomic behalten) NSString * Titel;
@property (nonatomic behalten) NSString * Untertitel;
- (id) initWithCoordinate: (CLLocationCoordinate2D) koordinieren;
- (id) setCoordinate: (CLLocationCoordinate2D) koordinieren;
- (id) setTitle: (NSString *) t Untertitel: (NSString *) st Index: (int) i;
@Ende
MyMark.m
#import MyMark.h
@implementation MyMark
@synthesize Koordinatenindex;
@synthesize Titel, Untertitel;
- (id) initWithCoordinate: (CLLocationCoordinate2D) c {
Koordinate = c;
NSLog (@ % f% f, c.latitude, c.longitude);
Rückkehr selbst;
}
- (id) setCoordinate: (CLLocationCoordinate2D) c {
Koordinate = c;
NSLog (@ % f% f, c.latitude, c.longitude);
Rückkehr selbst;
}
- (id) setTitle: (NSString *) t Untertitel: (NSString *) st Index: (int) i {
self.title = t;
self.subtitle = st;
index = i;
Rückkehr selbst;
}
- (void) {dealloc
[Release];
[Untertitel release];
[Super dealloc];
}













