1

「フォーマットは文字列リテラルではなく、フォーマット引数もありませんか?何かアイデアはありますか?」という警告が表示されます。

-(BOOL)isFirstPointReached{

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

    if([firstPoint isEqualToString:lastPoint]){

        return YES;
    }

    else{ 

        return NO;
    }
}
4

1 に答える 1

4

いくつかのポイント...

pointsToFillArrayはオブジェクトの配列であり、コンパイラーは、NSStringsまたはその他のタイプのオブジェクトが含まれているかどうかを認識しません。エラーを取り除くには、(NSString *)にキャストします。

次に、stringWithFormatは通常、いくつかの異なるデータから文字列を作成するために使用され、この場合は使用する必要はありません。

第三に、配列内のオブジェクトへのポインターを作成してから、チェックを行うことができます

以下はあなたのために働くはずです:

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

if ([firstPoint isEqualToString:lastPoint]) {
   return YES;
}
于 2010-06-08T14:41:57.050 に答える