我有一个这样的数组:CGPoint array[1000]
(我在这个数组中添加了触摸位置)。问题是我想将这个数组保存到文档目录中的文本文件中并检索它。任何人都可以帮忙吗?
全部谢谢
答案 0 :(得分:2)
我建议你使用NSArray
来存储你的CGPoints集合,而不是使用普通的C数组。由于NSArray
符合NSCoding
协议,因此您可以从文件中对其进行序列化和反序列化。
您应该阅读Archives and Serializations Programming Guide。
编辑以下是一个例子:
// Create an NSMutableArray
NSMutableArray *points = [[NSMutableArray alloc] init];
// Add a point to the array
// Read up on NSValue objects to understand why you simply cannot add a C
// struct like CGPoint to the array
[points addObject:[NSValue valueWithBytes:&point1 objCType:@encode(CGPoint)]];
// archive the array -- this will store the array in a file
BOOL result = [NSKeyedArchiver archiveRootObject:points toFile:filePath];
NSLog(@"Archival result: %d", result);
// unarchive the array -- this will retrieve your array from the file
NSMutableArray *points2 = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];