どのように私のアプリでダウンロードUIProgressViewを表示するには?
-
18-09-2019 - |
質問
私は私のiPhoneアプリにダウンロードされているどのくらいのファイルの示すプログレスバーを表示したいと思います。私はIBでUIProgressViewを設定する方法を知っているとすべてのこと。しかし、私はそれを実行するために、バイト単位で、ファイルサイズなどのデータを必要とします。どのように私は(下記参照)私のバイトのダウンロードコードでこのような機能を統合して行くのですか?
- (void)connection:(NSURLConnection *)theConnection didReceiveData:(NSData *)data
// A delegate method called by the NSURLConnection as data arrives. We just
// write the data to the file.
{
#pragma unused(theConnection)
NSInteger dataLength;
const uint8_t * dataBytes;
NSInteger bytesWritten;
NSInteger bytesWrittenSoFar;
assert(theConnection == self.connection);
dataLength = [data length];
dataBytes = [data bytes];
bytesWrittenSoFar = 0;
do {
bytesWritten = [self.fileStream write:&dataBytes[bytesWrittenSoFar] maxLength:dataLength - bytesWrittenSoFar];
assert(bytesWritten != 0);
if (bytesWritten == -1) {
[self _stopReceiveWithStatus:@"File write error"];
break;
} else {
bytesWrittenSoFar += bytesWritten;
}
} while (bytesWrittenSoFar != dataLength);
}
解決
あなたがASIHTTPRequestライブラリの使用に切り替える場合はバイトごとの進捗ビューを表示する表示することができます。
私は本当にあなたが、少なくともそれをチェックアウトをお勧めします。これは、iPhone上でこのようなものは本当に簡単になり、私はすべてのアプリケーションのためにそれを使用します。これは、同期および非同期接続を行うクッキーや認証を扱い、本当に簡単なPOSTリクエストを構成可能になります。また、ネットワークキューが組み込まれています。
所属していません StackOverflow