recherche

Maison  >  Questions et réponses  >  le corps du texte

objective-c - iOS开发,清除缓存功能在iOS8上有效,在iOS9和10上无效

清除缓存的代码如下:

// 清理缓存
    NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:cachePath];
    NSLog(@"文件数 :%ld",[files count]);
    for (NSString *p in files)
    {
        NSError *error;
        NSString *path = [cachePath stringByAppendingString:[NSString stringWithFormat:@"/%@",p]];
        if([[NSFileManager defaultManager] fileExistsAtPath:path])
        {
            [[NSFileManager defaultManager] removeItemAtPath:path error:&error];
        }
    }

在iOS8上可以清理缓存,在iOS9 和 iOS10上无效。

怪我咯怪我咯2771 Il y a quelques jours580

répondre à tous(1)je répondrai

  • 阿神

    阿神2017-04-18 09:45:28

    Confirmez d'abord si le chemin est valide ! Avez-vous obtenu un chemin absolu ou un chemin relatif ?
    Deuxièmement
    NSString *path = [cachePath stringByAppendingString:[NSString stringWithFormat:@"/%@",p]];
    Il est préférable d'utiliser stringByAppendingPathComponent de cette façon

    répondre
    0
  • Annulerrépondre