blob: 2946781334b26e6da427b1db8701896261c70c5e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
// Turn the document contents into a single savable lump of data
- (NSData *) dataOfType:(NSString *)typeName error:(NSError **)outError {
#pragma unused(typeName)
// Produce the data lump:
NSData * retval = [NSKeyedArchiver archivedDataWithRootObject:model];
// If the lump is nil something went wrong
// fill out the error object to explain what wrent wrong
if ( outError != NULL ) {
// The sender wanted an error reported. If there
// was a problem, fill in an NSError object
if (retval == nil) {
// The error object should include an (unhelpful)
// explanation of what happened
NSDictionary * userInfoDict = [NSDictionary dictionaryWithObjectsAndKeys:
@"Internal error formatting data", NSLocalizedDescriptionKey,
@"Archiving of data failed. Probably a bug.", NSLocalizedFailureReasonErrorKey,
@"There's nothing you can do.", NSLocalizedRecoverySuggestionErrorKey, nil];
*outError = [NSError errorWithDomain:LinearInternalErrorDomain
code:linErrCantFormatDocumentData
userInfo:userInfoDict];
} else {
// No problem. Don't supply an error object.
*outError = nil;
}
}
return retval;
}
|