做衣服的教程网站手机自助建网站
web/
2025/10/4 16:55:46/
文章来源:
做衣服的教程网站,手机自助建网站,北京战略咨询公司,wordpress 表单 插件1、概述使用archiveRootObject:toFile:方法可以将一个对象直接写入到一个文件中#xff0c;但有时候可能想将多个对象写入到同一个文件中#xff0c;那么就要使用NSData来进行归档对象。NSData可以为一些数据提供临时存储空间#xff0c;以便随后写入文件#xff0c;或者存…1、概述使用archiveRootObject:toFile:方法可以将一个对象直接写入到一个文件中但有时候可能想将多个对象写入到同一个文件中那么就要使用NSData来进行归档对象。NSData可以为一些数据提供临时存储空间以便随后写入文件或者存放从磁盘读取的文件内容。可以使用[NSMutableData data]创建可变数据空间。2、归档2个Person对象到同一文件中归档(编码)// 新建一块可变数据区NSMutableData *data [NSMutableData data];// 将数据区连接到一个NSKeyedArchiver对象NSKeyedArchiver *archiver [[[NSKeyedArchiver alloc] initForWritingWithMutableData:data] autorelease];// 开始存档对象存档的数据都会存储到NSMutableData中[archiver encodeObject:person1 forKey:person1];[archiver encodeObject:person2 forKey:person2];// 存档完毕(一定要调用这个方法)[archiver finishEncoding];// 将存档的数据写入文件[data writeToFile:path atomically:YES];3、从同一文件中恢复2个Person对象恢复(解码)// 从文件中读取数据NSData *data [NSData dataWithContentsOfFile:path];// 根据数据解析成一个NSKeyedUnarchiver对象NSKeyedUnarchiver *unarchiver [[NSKeyedUnarchiver alloc] initForReadingWithData:data];Person *person1 [unarchiver decodeObjectForKey:person1];Person *person2 [unarchiver decodeObjectForKey:person2];// 恢复完毕[unarchiver finishDecoding];4、利用归档实现深复制比如对一个Person对象进行深复制// 临时存储person1的数据NSData *data [NSKeyedArchiver archivedDataWithRootObject:person1];// 解析data生成一个新的Person对象Student *person2 [NSKeyedUnarchiver unarchiveObjectWithData:data];// 分别打印内存地址NSLog(person1:0x%x, person1); // person1:0x7177a60NSLog(person2:0x%x, person2); // person2:0x7177cf0
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86879.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!