質問

私は私の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リクエストを構成可能になります。また、ネットワークキューが組み込まれています。

http://allseeing-i.com/ASIHTTPRequest/する

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top