0

AFNetworking を使用して Rails API からビールの詳細を取得し、返された URL から画像を表示したいと考えています。

API レスポンスの例

    description = "Super tasty";
    id = 3;
    "label_url" = "/system/beers/labels/000/000/003/medium/Pliny.png?1363034728";
    "location_id" = 2;
    name = "Pliny The Elder";
    price = "3.5";
    style = IPA;

label_url は、BeerDetailViewController に表示しようとしている画像の URL です。これは私がこれまでに試したもので、エラーはありませんが画像は表示されません。

BeerDetailViewController.m

#import "UIImageView+AFNetworking.h"
#import "AFImageRequestOperation.h"

- (void)viewDidLoad
{
    [super viewDidLoad];

    beerLabel.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:
                                              [NSURL URLWithString: beer_label]]];

それが機能しない理由はありますか?このビューに URL を次のように表示できるbeerLabel.text = beer_labelので、画像が表示されない理由がわかりません。

4

2 に答える 2

5
/system/beers/labels/000/000/003/medium/Pliny.png?1363034728

は有効な URL ではありません。真剣に、あなたが探しているホストをどのように貧しく知ることができますかNSURL? NSDataホストとこのパスを使用して、適切な URL 文字列を作成する必要があります。

于 2013-03-11T21:15:29.257 に答える
0

そこにあるのは、URL のパス部分だけです。これを正しいベース URL に対して解決する必要があります。あなたのサーバーがexample.com. それを解決するには:

NSURL *base = [NSURL URLWithString:@"http://example.com"];
NSURL *resolved = [NSURL URLWithString:beer_label relativeToURL:base];
于 2013-04-09T13:25:12.123 に答える