当我想在 Core Data 下保存数据并且系统在存储容量方面达到限制时,我需要知道如何做出反应。
- 我怎么知道我没有多少存储空间了?
- 我怎么知道我没有足够的空间来存储我想要存储的东西?
- 如果有错误,我该如何处理(它们是什么?)?
我经常使用 Core Data,但主要用于只读数据或存储少量数据。
任何关于该主题的好文档或教程的建议都将受到欢迎。不过,我不需要对 Core Data 进行任何一般性的介绍。
检查磁盘空间:
NSDictionary* fileAttribs = [[NSFileManager defaultManager] attributesOfFileSystemForPath:@"/" error:&error];
unsigned long long freeSpace = [[fileAttribs objectForKey:NSFileSystemFreeSize] longLongValue];
NSLog(@"free space: %dGB", (int)(freeSpace / 1073741824)); //Note you just have to change the value here to get KB, MB, GB, TB etc...
文件读/写的 Cocoa 域错误代码是:
NSFileNoSuchFileError = 4
NSFileLockingError = 255
NSFileReadUnknownError = 256
NSFileReadNoPermissionError = 257
NSFileReadInvalidFileNameError = 258
NSFileReadCorruptFileError = 259
NSFileReadNoSuchFileError = 260
NSFileReadInapplicableStringEncodingError = 261
NSFileReadUnsupportedSchemeError = 262
NSFileReadTooLargeError = 263
NSFileReadUnknownStringEncodingError = 264
NSFileWriteUnknownError = 512
NSFileWriteNoPermissionError = 513
NSFileWriteInvalidFileNameError = 514
NSFileWriteFileExistsError = 516
NSFileWriteInapplicableStringEncodingError = 517
NSFileWriteUnsupportedSchemeError = 518
NSFileWriteOutOfSpaceError = 640
NSFileWriteVolumeReadOnlyError = 642