0

StoryBoardを使用してUIProgressViewを追加し、それをANIHTTPRequetのプログレスバーとして設定します。UIProgressViewを初期化するか、関数setDownloadProgressDelegate:を正しく使用しますか?TIA!

    @interface xyzViewController : UIViewController {
               ASINetworkQueue *networkQueue;
               BOOL failed;

               ASIHTTPRequest *request;
               NSOperationQueue *queue;
    }
    @property (strong, nonatomic) IBOutlet UIProgressView *progressBar;

//

     - (void)viewDidLoad
     {
             [super viewDidLoad];
             progressBar = [[UIProgressView alloc]initWithProgressViewStyle:UIProgressViewStyleBar];
             [progressBar setProgress:0.0 animated:YES];
      }

//

    -(IBAction) downloadStart{

           if (!networkQueue) {
                 networkQueue = [[ASINetworkQueue alloc] init]; 
           }
           failed = NO;

           [networkQueue reset];
           [networkQueue setRequestDidFinishSelector:@selector(imageFetchComplete:)];
           [networkQueue setRequestDidFailSelector:@selector(imageFetchFailed:)];
           [networkQueue setShowAccurateProgress: YES];
           [networkQueue setDelegate:self];


           request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:@"http://allseeing-i.com/ASIHTTPRequest/tests/images/large-image.jpg"]];
           [request setDownloadDestinationPath:[[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@"1.png"]];
           [request setDownloadProgressDelegate:progressBar];
           [request setUserInfo:[NSDictionary dictionaryWithObject:@"request1" forKey:@"name"]];
           [networkQueue addOperation:request];

           [networkQueue go];

      }
4

1 に答える 1

1
  • IBOutlet が IB で適切に接続されていることを確認します。その場合は、次の行を削除します。

progressBar = [[UIProgressView alloc]initWithProgressViewStyle:UIProgressViewStyleBar];

...そして IB でバーの外観を設定します

  • 必ずプロパティを合成してください@synthesize progressBar;

PS。

  • IBOutlets には「弱い」プロパティを使用することをお勧めします
  • ASIHTTPRequest ライブラリを広範囲に使用する予定がある場合は、他のソリューションを使用することをお勧めします。ASIHTTPRequestを参照してください。Please note that I am no longer working on this library - you may want to consider using something else for new projects. :)
于 2012-07-18T04:52:00.180 に答える