Iphone iOS 6文档文件夹不自动更新文件

Iphone iOS 6文档文件夹不自动更新文件,iphone,objective-c,ios6,xcode4.5,Iphone,Objective C,Ios6,Xcode4.5,iOS 6、iPhone 5、Xcode 4.5 我有一个应用程序,允许用户从internet下载文件到documents文件夹,然后将它们填充到数组中,然后再填充到tableview中。在iOS 5中,我的阵列和表视图会自动更新,并在视图中显示以下代码: NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSArray *dataArray = [[

iOS 6、iPhone 5、Xcode 4.5

我有一个应用程序,允许用户从internet下载文件到documents文件夹,然后将它们填充到数组中,然后再填充到tableview中。在iOS 5中,我的阵列和表视图会自动更新,并在视图中显示以下代码:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSArray *dataArray = [[NSBundle bundleWithPath:[paths objectAtIndex:0]] pathsForResourcesOfType:@"mp3" inDirectory:nil];
在iOS 6中,我注意到当添加/删除新文件时,documents文件夹不会自动更新,除非我退出应用程序(退出底部的多任务处理)并重新打开它,然后它将从documents文件夹重新加载新数据

即使我的应用程序加载视图显示的代码与上面相同,数据仍然是旧的。似乎iOS 6现在有一个文档缓存文件夹,并且在应用程序重新启动之前缓存不会更新

它在iOS 5中运行得非常好


感谢阅读和帮助:)

您不应该使用NSBundle访问文档目录中的文件。而是使用NSFileManager:

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
 NSString* path = [paths objectAtIndex:0];
 NSError* error;
 NSFileManager* fm = [NSFileManager defaultManager];

 for(NSString* filename in [fm contentsOfDirectoryAtPath:path error:&error]) {
    if([filename hasSuffix:@"mp3"]) {
      NSString *filePath = [path stringByAppendingPathComponent:filename];
      [_filelist addObject:filePath];
    }
 }

完美的感谢您提供的解决方案:)