2016-12-09 12 views
0

私はアップロードして画像を表示するアプリを持っています。私は無線LANではないときに私は、イメージをダウンロードするには時間がかかることがわかった。イメージをダウンロードしているときにダウンロードアクティビティインジケータを表示したいので、私はUXを改善したいと思っています。firebase storage downloadのダウンロード活動を表示するには

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 

[[[FIRStorage storage] referenceForURL:profileURL] dataWithMaxSize:INT64_MAX 
                     completion:^(NSData *data, NSError *error) { 
                      if (error) { 
                       NSLog(@"Error downloading: %@", error); 
                       return; 
                      } 
                      NSString *dataType=[self contentTypeForImageData:data]; 
                      if (dataType) { 
                      [_imageCache setObject:[UIImage imageWithData:data] forKey:uid]; 
                      } 
                      myIcon.image = 
                      [UIImage imageWithData:data]; 
                     }]; 
      }); 

これは、イメージとキャッシュをダウンロードする方法です。

答えて

0

Thing 1:追加のキューを使用する必要はありません。すでにバックグラウンドスレッドでダウンロードを実行しているため、UIはブロックされません。

シング2:あなたが好きな何かをしたい:

// Upload file and metadata to the object 'images/mountains.jpg' 
FIRStorageUploadTask *uploadTask = [storageRef putFile:localFile metadata:metadata]; 

// Start the upload progress UI 

[uploadTask observeStatus:FIRStorageTaskStatusProgress handler:^(FIRStorageTaskSnapshot *snapshot) { 
    // Update the progress UI with the progress 
}]; 

[uploadTask observeStatus:FIRStorageTaskStatusSuccess handler:^(FIRStorageTaskSnapshot *snapshot) { 
    // Remove the progress UI 
}]; 

は、あなたのスピナーのためMBProgressHubを考えてみましょう。

関連する問題