J'ai récemment créé une nouvelle classe pour mon application iPhone qui va contenir des informations lues à partir d'un fichier texte contenant l'adresse postale et les points GPS des points d'intérêt. Le problème est cependant que chaque fois que j'ajoute du code pour initialiser la classe, mon application se charge et s'arrête instantanément sans erreur dans la console. Quand je l'enlève, tout va bien. Je ne peux tout simplement pas voir quelque chose de mal avec le code.Application de rupture d'initialisation de classe
Voici le constructeur:
#import "GPSCoordinate.h"
@implementation GPSCoordinate
-(GPSCoordinate*) initWithData:(NSString *)rawData size:(int)size
{
self = [super init];
location = [NSMutableArray arrayWithCapacity:size];
coordinates = [NSMutableArray arrayWithCapacity:(int)size];
NSArray *tokens = [rawData componentsSeparatedByString:@"@"];
for (int i = 0; i < size - 1; i++) {
//Sub tokens
NSString *line = [tokens objectAtIndex:i];
NSArray *lineTokens = [line componentsSeparatedByString:@":"];
//Store address
[location addObject:[lineTokens objectAtIndex:0]];
//Store GPS coords
NSString *coords = [lineTokens objectAtIndex:1];
coords = [[coords stringByReplacingCharactersInRange:NSMakeRange(0, 1) withString:@""]
stringByReplacingCharactersInRange:NSMakeRange([coords length]-2, 1) withString:@""];
NSArray *coordsTokens = [coords componentsSeparatedByString:@" "];
CLLocationCoordinate2D coord;
coord.latitude = [[coordsTokens objectAtIndex:0] doubleValue];
coord.longitude =[[coordsTokens objectAtIndex:1] doubleValue];
[coordinates addObject:coords];
[line release];
[lineTokens release];
[coords release];
[coordsTokens release];
}
return self;
}
@end
Voici l'appel que je fais à dans une autre classe:
self.gps = [[GPSCoordinate alloc] initWithData:gpsRawData size:[[gpsRawData componentsSeparatedByString:@"@"] count]];
Où vais-je pas avec cela?
Y a-t-il un message d'erreur sur la console? – taskinoor
il n'y a aucune vérification d'erreur sur l'un des paramètres, je voudrais commencer là. –
Avez-vous un point de rupture ici? Pourrait vous amener à la ligne individuelle. Vous pouvez obtenir des informations sur les objets à la console en tapant 'po