background image

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];