0

NSMutableArrayの要素を取得し、それらを名前である文字列に変換し、UIImageViewsすべての画像を 1 つの画像に変更しようとしています。私はこのforループを使用しています:

for (int i = 0; i < [self.array count]; i++)
    NSString *currentelement = [self.array objectAtIndex:i]
    [UIImageView * theImageView = [self valueForKey:currentelement]
    [theImageView setImage:newimage];

しかし、2行目にエラーが表示されます: Expected expression Any Ideas why?

4

2 に答える 2

2

基本的な C 句読点がいくつかありません。C ステートメントを終了するセミコロンを忘れましたが、本当に 2 行目でループしますか? {} を忘れていると思います - ヒントは常にすべてのループに中括弧を使用します。

したがって、コードは次のようになります

for (int i = 0; i < [self.array count]; i++)
{
    NSString *currentelement = [self.array objectAtIndex:i];
    UIImageView * theImageView = [self valueForKey:currentelement];
    [theImageView setImage:newimage];
}

また、[ はメッセージに使用され、割り当ての右側にのみ表示されます ( =)

正しいコードを示し、構文を説明するには、C および Objective C のチュートリアルを参照する必要があることをお勧めします。

于 2013-05-05T11:11:05.390 に答える
0

セミコロンを忘れており、3 行目が間違っています。

コードを次のように変更します。

for (int i = 0; i < [self.array count]; i++) {
    NSString *currentelement = [self.array objectAtIndex:i];
    UIImageView *theImageView = [self valueForKey:currentelement];
    [theImageView setImage:newimage];
}

[]オブジェクトにメッセージを送信する手段を使用します。=メッセージで記号を使用することはできません。

于 2013-05-05T11:01:42.683 に答える