0

ある場所から別の場所にファイルをコピーしているときに、進行状況バーを使用して進行状況を表示したいと考えています。したがって、ファイルをコピーするためのコードは次のとおりです。

 if([fileManager isReadableFileAtPath:sourcePath])
    [fileManager copyItemAtPath:sourcePath toPath:destinationPath error:nil];

そして、これが進行中のバーのコードです(私は NSProgressIndicator を使用しています):

// Set the max value to our source file size
[_localProgressIndicator setMaxValue:fileSizeTotal];
[_localProgressIndicator setDoubleValue:0.0];

//Start showing progress bar in using NSTime
if(!timerForProgressBar){
    timerForProgressBar = [NSTimer scheduledTimerWithTimeInterval:0.05
                                                            target:self
                                                         selector:@selector(checkCopyingPorgress:)
                                                          userInfo:nil
                                                           repeats:YES];
    [_localProgressIndicator startAnimation:self];
}

-(void)checkCopyingPorgress:(NSTimer *)aTimer
{
  if(fileCurrentSize >= fileSizeTotal)
  {
     fileCurrentSize = 0;
     [aTimer invalidate];
     aTimer = NULL;
     [_localProgressIndicator setDoubleValue:0.0];
     [_localProgressIndicator stopAnimation: self];
  }
  else
  {
    [_localProgressIndicator setDoubleValue: fileCurrentSize/100.0];
    [_localProgressIndicator displayIfNeeded];
  }
}

だから私の質問は、ある場所から別の場所にファイルをコピーしているときに、fileManager から "fileCurrentSize" を取得する方法です?? ありがとう !!

4

1 に答える 1

7

あなたは使用することができます

- (NSDictionary *)attributesOfItemAtPath:(NSString *)path error:(NSError **)error

[dictObject valueForKey@"NSFileSize"];次に、ファイル プロパティ ディクショナリから取得します

于 2013-05-05T18:44:38.197 に答える