33 copy.field3 = [[self.field3 copyWithZone:zone] autorelease];
34 copy.field4 = [[self.field4 copyWithZone:zone] autorelease];
35
36 return copy;
37 }
获取归档文件
38 - (NSString *)dataFilePath {
39 NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory,
NSUserDomainMask, YES);
40 NSString *documentsDirectory = [paths objectAtIndex:0];
41 return [documentsDirectory stringByAppendingPathComponent:@"archive"];
42 }
对数据进行归档
43 FourLines *fourLines = [[FourLines alloc] init];
44 fourLines.field1 = field1.text;
45 fourLines.field2 = field2.text;
46 fourLines.field3 = field3.text;
47 fourLines.field4 = field4.text;
48
49 //对数据进行归档
50 NSMutableData *data = [[NSMutableData alloc] init];
51
NSKeyedArchiver
*archiver
=
[[NSKeyedArchiver
alloc]
initForWritingWithMutableData:data];
52 [archiver encodeObject:fourLines forKey:@"Data"];
53 [archiver finishEncoding];
54 [data writeToFile:[self dataFilePath] atomically:YES];
55 [fourLines release];
56 [archiver release];
57 [data release];
获取归档数据
58 NSString *filePath = [self dataFilePath];
59 if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
60 NSData *data = [[NSMutableData alloc]
61 initWithContentsOfFile:[self dataFilePath]];
62 NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc]
63 initForReadingWithData:data];
64 FourLines *fourLines = [unarchiver decodeObjectForKey:@"Data"];
65 [unarchiver finishDecoding];