Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS-NSFIleManager-如何处理磁盘空间不足_Ios_Objective C_Nsfilemanager_Diskspace - Fatal编程技术网

iOS-NSFIleManager-如何处理磁盘空间不足

iOS-NSFIleManager-如何处理磁盘空间不足,ios,objective-c,nsfilemanager,diskspace,Ios,Objective C,Nsfilemanager,Diskspace,将数据写入文件(例如缓存缩略图、用户数据等)时,您如何处理由于磁盘已满,iDevice无法将数据写入文件这一事实 如果磁盘空间不足,NSFileManager是否会引发异常 有什么办法来处理这个问题,并通知我的用户,他的数据只剩下很少的磁盘空间?(我在我的应用程序的不同位置保存了大量不同的数据,并正在搜索处理这些数据的通用方法。)正如您在要保存的注释中提到的NSDictionary。如果您只想知道文件是否成功保存,可以检查 writeToFile:原子化:函数 返回值 如果文件写入成功,则为“是

将数据写入文件(例如缓存缩略图、用户数据等)时,您如何处理由于磁盘已满,iDevice无法将数据写入文件这一事实

如果磁盘空间不足,NSFileManager是否会引发异常


有什么办法来处理这个问题,并通知我的用户,他的数据只剩下很少的磁盘空间?(我在我的应用程序的不同位置保存了大量不同的数据,并正在搜索处理这些数据的通用方法。)

正如您在要保存的注释中提到的
NSDictionary
。如果您只想知道文件是否成功保存,可以检查

writeToFile:原子化:
函数

返回值
如果文件写入成功,则为“是”,否则为“否”

有关更多信息,请参见
NSDictionary

或者, 如果您想获得有关故障的更详细的错误消息(如磁盘空间不足、文件夹不存在等),则可以

  • NSDictionary
    NSData

    NSData *myData = [NSKeyedArchiver archivedDataWithRootObject:myDictionary];
    
  • NSData
    NSDictionary

    NSDictionary *myDictionary = (NSDictionary*) [NSKeyedUnarchiver unarchiveObjectWithData:myData];
    
好处是您还可以访问此API

如果写入数据时出错,返回时将包含一个描述问题的NSError对象

此外,更多详细信息可在
NSData
下找到


我认为这是最好的,你可以做的情况下,有一个低磁盘空间的问题,在设备上

您使用什么方法保存数据?例如,如果您正在使用
writeToFile:options:error:
For
NSData
,则如果您可以保存数据,则返回值为false,并且返回值为
error
以及原因。并且发现了一个类似的问题:例如,我想将nsdictionary写入文件,当使用默认的writeToFile方法时,它们没有错误选项。