1
我已經實現了NSCoding
協議我的課,我用我NSDocument
子類下面的代碼保存和加載:NSCoding和NSKeyedArchiving - 「該文件無法加載」
- (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError {
[[record window] endEditingFor:nil];
return [NSKeyedArchiver archivedDataWithRootObject:self];
}
- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError{
@try {
NSLog(@"Loading...");
self = [NSKeyedUnarchiver unarchiveObjectWithData:data];
}
@catch (NSException *exception) {
if (outError) {
NSDictionary *d = [NSDictionary dictionaryWithObject:@"The data is corrupted" forKey:NSLocalizedFailureReasonErrorKey];
*outError = [NSError errorWithDomain:NSOSStatusErrorDomain code:unimpErr userInfo:d];
}
}
NSLog(@"whiteMoves count: %ld",[whiteMoves count]);
}
這一切似乎是工作的罰款。我可以保存一個文件,當我打開它並逐步完成代碼時,它似乎都可以解壓並解碼。但是,在完成「加載事件」時,我的應用程序總是彈出一個錯誤窗口,顯示「The document」xxx.xxx「無法加載」。我找不到這個錯誤是從哪裏觸發的,也沒有任何文檔。
是否有人知道它來自哪裏或知道它可能記錄在哪裏?
感謝
李
嘎!現在我感到很蠢。謝謝你抓住它。 我在寫下一個版本的特使(envoy.scribbleware.net) – Tangler
@LeeWalsh沒問題。如果解決了您的問題,請接受答案。 Mac上沒有足夠的象棋產品,做得很好! – trojanfoe