如何在 Objc 中为每个从 url 下载的 pdf 分配新名称

How to Assign new name for every downloaded pdf from url in Objc

我有一个从 url 下载 pdf 的代码。但是每次我下载 url 按钮时,它都会用同名的新下载的 pdf 替换旧的 pdf。

这是我的代码:

NSString *stringURL = @"https://www.clickdimensions.com/links/TestPDFfile.pdf";
NSURL  *url = [NSURL URLWithString:stringURL];
NSData *urlData = [NSData dataWithContentsOfURL:url];
if ( urlData )
{
  NSArray       *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  NSString  *documentsDirectory = [paths objectAtIndex:0];  

  NSString  *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"filename.pdf"];
  [urlData writeToFile:filePath atomically:YES];
}
  1. 我想在 phone 本地下载文件夹中下载 pdf
  2. 当用户再次点击下载 pdf 按钮时,应该会下载名称为 filename(2).pdf 的同一个 pdf,它不应替换第一个

我在想类似的东西:

    NSString  *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"filename.pdf"];
    int fileCopyNum = 1;
    // Loop until available file name is found
    while ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
        // compute a new file name by incrementing index
        // first new file name will start at 1++ = 2
        fileCopyNum++;
        filePath = [NSString stringWithFormat:@"%@/%@-(%d).pdf", documentsDirectory,@"filename", fileCopyNum];
    }
    [urlData writeToFile:filePath atomically:YES];