2010-10-20 1 views
1

Je suis nouveau sur les applications iPhone et l'objectif c et je ne peux pas comprendre ce qui ne va pas avec ma méthode l'idée générale est qu'elle va à un plist qui contient des latitudes et des longitudes. les données stockées dans le tableau que l'utilisateur entre dans un champ de texte, puis sort une broche à cet emplacement. Toutes les suggestions seraient grandement appréciées. J'ai seulement posté le code pour la méthode, mais si n'importe quelle autre partie de l'application aiderait dans le débogage mon code alors je serais heureux de l'afficher.J'ai besoin d'aide pour déboguer une méthode dans mon application iPhone

-(IBAction) showBus { 

[busNum resignFirstResponder]; 

bus *currentBus = [[bus alloc] init]; 


NSString *txtFieldData = [[NSString alloc] initWithString: busNum.text]; 



//get data from plist 
NSString *myFile = [[NSBundle mainBundle] pathForResource:@"busLocations" ofType:@"plist"]; 
NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile: myFile]; 

[myFile release]; 

[currentBus setLat:[[dictionary objectForKey:txtFieldData] objectAtIndex:0]]; 
[currentBus setLong:[[dictionary objectForKey:txtFieldData] objectAtIndex:1]]; 
//[currentBus setName:[[dictionary objectForKey:txtFieldData] objectAtIndex:2]]; 

[txtFieldData release]; 
[dictionary release]; 

int latit = [[currentBus Lat] intValue]; 
int longit = [[currentBus Long] intValue]; 
NSLog(@"latitude is %d and longitude is %d",latit,longit); 

/* 
[mapView setMapType:MKMapTypeStandard]; 
[mapView setZoomEnabled:YES]; 
[mapView setScrollEnabled:YES]; 
*/ 

MKCoordinateRegion region = { {0.0, 0.0 }, { 0.0, 0.0 } }; 
region.center.latitude = latit; 
region.center.longitude = longit; 


region.span.longitudeDelta = 0.01f; 
region.span.latitudeDelta = 0.01f; 

[mapView setRegion:region animated:YES]; 
[mapView setDelegate:self]; 


DisplayMap *ann = [[DisplayMap alloc] init]; 

ann.title = @"Bus %@",[currentBus name]; 
ann.coordinate = region.center; 

[mapView addAnnotation:ann]; 
//[ann release]; 



[currentBus release]; 

} 

Merci pour l'aide

Répondre

2

Vous ne devriez pas diffuserons myFile (vous ne l'avez pas allouez), et vous devriez diffuserons ANN (vous avez fait attribuer cela).

+0

Merci joseph qui a fixé l'un des problèmes que j'ai également été la libération de certains autres objets trop tôt. Le dernier problème est que lorsque je décommente cette ligne: // [currentBus setName: [[dictionnaire objectForKey: txtFieldData] objectAtIndex: 2]]; je reçois une exception non interceptée. Des idées pourquoi? – bubster

+0

Peut-être qu'il n'y a rien à l'index 2? –

Questions connexes