0

特定の値が呼び出された場合に特定の画像を投稿しようとしています.NSNumberがNSStringに適切に変換されていないため、これが機能しないことを理解していますが、これが問題かどうかはわかりません. NSLog を使用すると、4.5 の評価など、データが通過していることがわかります。この場合、星 4.5 個を表示したいのですが、画像が投稿されません。ビューがリンクされ、すべてが接続されていることを確認しましたが、サイコロはありません。以下のコード。フィードバックは大歓迎です!

- (void) connectionDidFinishLoading:(NSURLConnection *)connection
{
    [self setString];

    NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:nil];
    NSString *string1 = [dic objectForKey:@"name"];
    NSString *string2 = [[dic objectForKey:@"rating"]stringValue];

    NSLog(@"RATE STRING ---> %@", string2);

    if (string2 == @"0")
    {
        UIImage *img = [UIImage imageNamed:@"zerorate.png"];
        [imageView2 setImage:img];
    }
    if (string2 == @"1")
    {
        UIImage *img = [UIImage imageNamed:@"onerate.png"];
        [imageView2 setImage:img];
    }
    if (string2 == @"1.5")
    {
        UIImage *img = [UIImage imageNamed:@"onehalfrate.png"];
        [imageView2 setImage:img];
    }
    if (string2 == @"2")
    {
        UIImage *img = [UIImage imageNamed:@"tworate.png"];
        [imageView2 setImage:img];
    }
    if (string2 == @"2.5")
    {
        UIImage *img = [UIImage imageNamed:@"twohalfrate.png"];
        [imageView2 setImage:img];
    }
    if (string2 == @"3")
    {
        UIImage *img = [UIImage imageNamed:@"threerate.png"];
        [imageView2 setImage:img];
    }
    if (string2 == @"3.5")
    {
        UIImage *img = [UIImage imageNamed:@"threehalfrate.png"];
        [imageView2 setImage:img];
    }
    if (string2 == @"4")
    {
        UIImage *img = [UIImage imageNamed:@"fourrate.png"];
        [imageView2 setImage:img];
    }
    if (string2 == @"4.5")
    {
        UIImage *img = [UIImage imageNamed:@"fourhalfrate.png"];
        [imageView2 setImage:img];
    }
    if (string2 == @"5")
    {
        UIImage *img = [UIImage imageNamed:@"fiverate.png"];
        [imageView2 setImage:img];
    }
        [[self myTableView] reloadData];
}
4

1 に答える 1

2

の値string2 == @"0"は未定義です。試してみてくださいif ([string2 isEqualToString:@"0"])

また、返される値にちなんで png ファイルに名前を付けることを検討することもできます。次に、次のようにします。

UIImage *img = [UIImage imageNamed:string2];
[imageView2 setImage:img];

これで問題が解決しない場合po string2、デバッガーを使用するとどうなりますか? po imgそれが設定された後、あなたはどうなりますかpo imageView2

于 2013-02-25T03:48:08.760 に答える