1

NSTableView複数のセルを含むがあります。セルにNSTextFieldとがあります。NSProgressIndicator各セルには、独自のアップロード率を表す独自の進行状況インジケーターがあります。

ここで、アップロードの進行状況を把握できるように、アップロードのパーセンテージに従って進行状況インジケーターを更新する必要があります。

- (void)startUploading:(NSArray *)filePathArray
{
if (self.QNToken) {

    NSString *token = self.QNToken;
    NSUInteger count = [filePathArray count];

    // We may have multiple files to upload.

    for (int i = 0; i < count; i ++) {
        NSString *filePath = filePathArray[i];
        NSData *fileData = [NSData dataWithContentsOfFile:filePath];
        NSString *key = [fileData md5String];

        // Upload option

        QNUploadOption *option = [[QNUploadOption alloc] initWithMime:nil
                                                      progressHandler:^(NSString *key, float percent) {
                                                          QNUploadDetailCell *cell = [self.tableView viewAtColumn:0 row:i makeIfNecessary:NO];
                                                          [cell.progress.animator setDoubleValue:percent];
                                                          [cell.progress displayIfNeeded];
                                                      }
                                                               params:nil
                                                             checkCrc:NO
                                                   cancellationSignal:nil];

        // Let's upload!

        [self.uploadManager putFile:filePath
                               key:key
                             token:token
                          complete: ^(QNResponseInfo *info, NSString *key, NSDictionary *resp) {
                              NSLog(@"%@", info);
                              NSLog(@"%@", resp);
                          } option:option];
    }
}
}

ただし、進行状況インジケーターはアニメーション化されません。

のパーセンテージも出力しますprogressHandler。パーセンテージは 0 から 1.0 に増加し続けます。

しかし、進行状況バーはまだ停止し続けます。

ここに画像の説明を入力

何か案は?

4

0 に答える 0