我一直试图这样做一个星期......没有运气!
对象书:
字符串ISBN
int NumOfPages
字符串标题
字符串作者(等)
对象库:
MuttableArray书籍
现在我需要为类库的Object编写一个方法,将XML中所有书籍的所有信息写入磁盘。此XML数据也需要通过网络发送到服务器。服务器正在运行JAVA,我需要能够在服务器上使用类库和Book的对象。
我这就是我到目前为止所做的事情:
课本:
@interface Book : NSObject <NSCoding>
@property NSString * title;
@property NSString * author;
@property int * numOfPages;
@end
班级图书馆:
@interface Library : NSObject
@property NSMuttableArray * Books;
-(void) syncLibraryToFile;
@end
答案 0 :(得分:2)
默认存档程序生成二进制文件。如果需要XML,则必须更改输出格式。
NSMutableData *archiveData = [NSMutableData data];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]
initForWritingWithMutableData:archiveData];
archiver.outputFormat = NSPropertyListXMLFormat_v1_0;
[archiver encodeRootObject:self.Books];
[archiver finishEncoding];
现在您可以将archiveData
发送到服务器了。如果您想要JSON,它仍然更容易,并且不需要第三方框架。
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self.Books
options:0
error:&error];
将数据写入磁盘有很多选项,包括NSData
方法
– writeToFile:atomically:
– writeToFile:options:error:
– writeToURL:atomically:
– writeToURL:options:error:
修改强>
在回复评论中的问题时......您可以轻松地将数据写入文件...
[archiveData writeToFile:filePath atomically:YES];
或
[jsonData writeToFile:filePath atomically:YES];