2009-05-15 8 views
0

URL에서 그림을 다운로드하고 파일을 다운로드한다는 사실을 알리기 위해 액티비티 표시기를 사용하려고합니다. 그러나이 다운로드 함수를 호출 할 때 내 표시기가 애니메이션으로 나타나지 않으므로 작동하지 않습니다. 이유를 말해 줄 수 있습니까?URL에서 다운로드 할 때 UIActivityIndicator 문제가 발생합니다.

-(void)download{ 
    [indicator startAnimating]; 
    NSString *[email protected]"http://www.xyz.com/path/pic.jpg; 
    NSData *downloadData=[NSData dataWithContentsOfURL:[ NSURL URLWithString:downloadPath]]; 
    if(downloadData){ 
      //do something 
      [indicator stopAnimating]; 
    } 
     else{ 
     //do something 
     [indicator stopAnimating]; 
      } 
    } 
+0

당신은 확실한가요? stopAnimating 라인을 가져 가라. 내 경험상 start/stopAnimating 사이의 간격이 "짧다"면, 당신은 그것을 볼 수 없을 것이다. – freespace

+0

stopAnimating을 꺼내면 지표가 데이터 다운로드가 완료된 후에 만 ​​애니메이션으로 표시되지만 함수가 호출 될 때 시작되지 않습니다. –

답변

0

[표시 startAnimating] 및 [표시 자 stopAnimating]을 입력해야합니다. 별도의 방법으로. 나는 그 방법이 끝날 때까지 애니메이션이 시작되지 않는다고 생각한다. 당신이 여러 가지 방법으로 분리하면이 애니메이션 파일을 다운로드

  • 한 가지 방법을 시작

    • 한 가지 방법을 작동합니다 그래서.
    • 애니메이션을 중지하는 한 가지 방법입니다.

    는 또 다른 옵션은이 acomplish하는 스레딩된다. 더 자세한 정보 here

  • 0

    이 애니메이션은 코드와 같은 스레드에있는 이벤트 루프에서 수행된다. 즉, 코드가 실행되는 동안 애니메이션이 시작되지 않습니다.

    대신 당신도, 애니메이션 잊어 비동기 다운로드 방법을 사용하여 전환하거나 별도의 스레드에서 다운로드를 수행해야합니다. 비동기 옵션을 권하고 싶습니다.

    관련 문제