2011-10-07 3 views
0

Je reçois un Sigabrt au NSlog et je ne sais pas pourquoi - des suggestions?NSArray componentsSeperatedByString Sigabrt

NSString* contentList = [NSString stringWithContentsOfFile:currentFilePath encoding:NSUTF8StringEncoding error:nil]; 
NSArray* contentArray = [contentList componentsSeparatedByString:@"$$"]; 

NSLog(@"%@%@",contentList,[contentArray count]); 
kunden = [contentArray objectAtIndex:0]; 
kundenView.text = kunden; 

Après suggestions de Joes, je maintenant obtenu:

NSString* contentList = [NSString stringWithContentsOfFile:currentFilePath encoding:NSUTF8StringEncoding error:nil]; 
NSArray* contentArray = [[contentList componentsSeparatedByString:@"$$"] retain]; 
if ([contentArray count] > 0) { 
    NSLog(@"%@%@",contentList,[contentArray count]); 
    kunden = [contentArray objectAtIndex:0]; 
    kundenView.text = kunden; 
} 

Ce qui me donne une EXC_BAD_ACCESS la chose NSLog.

Répondre

4

je reçois un SIGABRT au NSLog

Votre déclaration NSLog tente d'imprimer un entier comme si elle était un objet:

NSLog(@"%@%@",contentList,[contentArray count]); 
     ^
     Here! 

Remplacer %@ avec %d.

Vous pouvez en savoir plus sur les spécificateurs de format dans le String Programming Guide.

+0

HERO! Je vous remercie! – Faser

+0

@UrbanSeifert Vous êtes les bienvenus :) – albertamg

1

Vous ne vérifiez pas que vous avez au moins 1 élément dans votre matrice. L'accès au [contentArray objectAtIndex:0] sera un problème si le contentArray est vide.

+0

Mise à jour ma question, obtenir un mauvais accès maintenant. – Faser