Не можете избавиться от этого предупреждения? - PullRequest
1 голос
/ 08 июня 2010

Я получаю это предупреждение "Форматировать не строковый литерал и не форматировать аргументы? Есть идеи?

-(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 Ответ

4 голосов
/ 08 июня 2010

Несколько баллов ...

pointsToFillArray - это массив объектов, и компилятор не знает, содержит ли он NSStrings или какой-либо другой тип объекта. Чтобы избавиться от ошибки, вы должны привести ее к (NSString *)

Во-вторых, stringWithFormat обычно используется для создания строки из нескольких различных фрагментов данных, и в этом случае ее не нужно использовать

В-третьих, вы можете просто создать указатели на объекты в массиве, а затем выполнить проверку

У вас должно работать следующее:

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

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