有没有人知道如果您尝试保存到核心数据会发生什么,但是没有足够的磁盘空间?
我假设保存操作会产生某种NSError?在磁盘写入期间,您如何判断磁盘空间错误而不是其他错误?
答案 0 :(得分:3)
在尝试填满磁盘几个小时后,我发现你得到的错误是:
NSSQLiteErrorDomain = 13;
NSUnderlyingException = "error during SQL execution : database or disk is full";
很难得到这个错误:
答案 1 :(得分:2)
CoreData开发人员在实现错误处理API时,这似乎是一个糟糕的选择。他们没有定义NSCoreDataErrorDomain,而是重载NSCocoaErrorDomain并传递定义的SQLite错误代码here.
答案 2 :(得分:0)
您可以通过查询NSError实例并解析所涉及的错误域的结果来找出错误。其中一个域可能包含您要查找的错误代码:
// Predefined domain for errors from most AppKit and Foundation APIs.
FOUNDATION_EXPORT NSString *const NSCocoaErrorDomain;
// Other predefined domains; value of "code" will correspond to preexisting values in these domains.
FOUNDATION_EXPORT NSString *const NSPOSIXErrorDomain;
FOUNDATION_EXPORT NSString *const NSOSStatusErrorDomain;
FOUNDATION_EXPORT NSString *const NSMachErrorDomain;