1

(xCodeとプログラミングの初心者)ftpサーバーからUIImageViewに画像を接続/ダウンロード/変数に保存して表示しようとしています。コードは以下のとおりです。ヘルプアドバイスをいただければ幸いです。

- (void)viewDidLoad
{
    //sets label to notify user whats happening
    NSMutableString *labelString;
    labelString = [NSMutableString stringWithString: @"Connecting"];
    [labelDymamic setText: labelString];

    //variable for ftp location
    NSString *ftpLocation = [NSString stringWithFormat:@"ftp2.bom.gov.au/anon/sample/gms/IDE00003.201011170430.gif"];
    //variable to recieve data
    NSMutableData *responseData;

    //loads ftpLocation into url
    NSURL *url = [NSURL URLWithString:ftpLocation];

    //sets label to notify user whats happening
    NSMutableString *labelStringDownloading;
    labelStringDownloading = [NSMutableString stringWithString: @"Downloading"];
    [labelDymamic setText: labelStringDownloading];

    //Connect to ftp
    self.ftpImageView.image = [UIImage imageNamed:@"Icon.png"];
    self.labelDymamic.text = @"Receiving";
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    (void) [[NSURLConnection alloc] initWithRequest: request delegate:self];

    //download image


    //save to variable


    //display to screen


    //sets label to notify application loading complete
    NSMutableString *labelLoadedString;
    labelLoadedString = [NSMutableString stringWithString: @"Radar"];
    [labelDymamic setText: labelLoadedString];

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

}

現時点で表示されているのは、labelLoadedString 変数「Radar」を持つ白い画面だけです。

ありがとうアラン

4

2 に答える 2

1

URLが間違っているため、スキームがありません:ftp://


ダウンロードに関して:

NSURLRequest *request = [NSURLRequest requestWithURL:url];

//download
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * r, NSData * d, NSError * e) {
    //save
    UIImage *img = [[UIImage alloc] initWithData:d];

    //display
    self.imageView.image = img;

    //sets label to notify application loading complete
    NSMutableString *labelLoadedString;
    labelLoadedString = [NSMutableString stringWithString: @"Radar"];
    [labelDymamic setText: labelLoadedString];
}];
于 2013-01-01T03:35:55.000 に答える
0

前述のように正しくないように見えるURLを修正したら、AFNetworkingをチェックアウトします(https://github.com/AFNetworking/AFNetworkingを参照)。UIImage離れた場所からの画像の読み込みを処理するときにあなたの生活をはるかに楽にするカテゴリがあります(http、https、ftpなど、あなたはそれに名前を付けます;)

概要の例を次に示します。

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 100.0f, 100.0f)];
[imageView setImageWithURL:[NSURL URLWithString:@"http://i.imgur.com/r4uwx.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder-avatar"]];
于 2013-01-01T03:40:57.853 に答える