2010-06-08 6 views
1

Je reçois cet avertissement « Format non un littéral de chaîne et aucun argument de format? Des idées?Vous ne pouvez pas vous débarrasser de cet avertissement?

-(BOOL)isFirstPointReached{ 

    NSString *firstPoint = [NSString stringWithFormat:[pointsToFillArray objectAtIndex:0]]; 
    NSString *lastPoint = [NSString stringWithFormat:[pointsToFillArray lastObject]]; 

    if([firstPoint isEqualToString:lastPoint]){ 

     return YES; 
    } 

    else{ 

     return NO; 
    } 
} 
+1

Votre utilisation stringWithFormat, qu'est-ce que vous avez réellement pointsToFillArray? Vous devez avoir un format valide comme @ "Votre âge est% d" si ce n'est pas ce que vous voulez que vous utilisiez initWithString. –

+0

pointsToFillArray = [[NSMutableArray alloc] init]; – NextRev

+0

cet avertissement vient d'apparaître avec le nouveau SDK, ça a bien fonctionné avant que – NextRev

Répondre

4

Quelques points ...

Le pointsToFillArray est un tableau d'objets et le compilateur ne ne sait pas si elle contient NSStrings ou tout autre type d'objet Pour se débarrasser de l'erreur, vous la transtyperiez en (NSString *)

Deuxièmement, le stringWithFormat est normalement utilisé pour créer une chaîne à partir de quelques données différentes et n'a pas besoin d'être utilisé dans ce cas

Troisièmement, vous pouvez simplement créer des pointeurs vers les objets se trouvant dans le tableau, puis faites votre chèque

Les éléments suivants doivent travailler pour vous:

NSString *firstPoint = (NSString*)[pointsToFillArray objectAtIndex:0]; 
NSString *lastPoint = (NSString*)[pointsToFillArray lastObject]; 

if ([firstPoint isEqualToString:lastPoint]) { 
    return YES; 
} 
Questions connexes