0
我有一個很大的問題。 我的程序必須保存一個帶有3浮點值(x,y,z加速計)和一個NSString值(名稱)的Xml文件。 我該怎麼辦? 非常感謝在iPhone應用程序中創建一個XML文件
我有一個很大的問題。 我的程序必須保存一個帶有3浮點值(x,y,z加速計)和一個NSString值(名稱)的Xml文件。 我該怎麼辦? 非常感謝在iPhone應用程序中創建一個XML文件
如果你沒有對XML格式的具體要求,那麼你可以使用NSKeyedArchiver類存檔XML格式的數據:
float x, y, z;
NSString *name;
NSMutableData *data = [NSMutableData data];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver setOutputFormat:NSPropertyListXMLFormat_v1_0];
[archiver encodeFloat:x forKey:@"x"];
[archiver encodeFloat:y forKey:@"y"];
[archiver encodeFloat:z forKey:@"z"];
[archiver encodeObject:name forKey:@"name"];
[archiver finishEncoding];
BOOL result = [data writeToFile:@"MyFile" atomically:YES];
[archiver release];
一旦寫入,讀取很簡單:
NSData *data = [NSData dataWithContentsOfFile:@"MyFile"];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
x = [unarchiver decodeFloatForKey:@"x"];
y = [unarchiver decodeFloatForKey:@"y"];
z = [unarchiver decodeFloatForKey:@"z"];
name = [unarchiver decodeObjectForKey:@"name"];
[unarchiver finishDecoding];
[unarchiver release];
非常感謝。 我有一個問題,在哪裏存儲文件? – zp26 2010-05-27 16:38:32
它可以在任何你想要的地方。例如,您可以將其存儲在應用程序支持文件夾中(請參閱http://cocoawithlove.com/2010/05/finding-or-creating-application-support.html)。 – 2010-05-27 17:53:33