NSKeyedArchiver/NSKeyedUnArchiver 包装器
[LKDocumentDirectoryArchiver archiveRootObject:userList
forKey:@"UserList"];
执行如下功能。
// filename is equal to (Application Directory)/Documents/UserList.archive
[NSKeyedArchiver archiveRootObject:userList toFile:filename];
id userList = [LKDocumentDirectoryArchiver unarchiverObjectForKey:@"UserList"];
执行如下功能。
id userList = [NSKeyedUnarchiver unarchiverObjectWithFile:filename];
如果需要默认值情况,
[LKDocumentDirectoryArchiver unarchiveObject:userList
forKey:@"UserList"
defaultObject:^id{
return @[].mutableCopy;
}];
支持处理失败,
[LKDocumentDirectoryArchiver unarchiveObject:userList
forKey:@"UserList"
failure:^{
// do something
}];
您可以使用目录。
[LKDocumentDirectoryArchiver archiveRootObject:userList1
forKey:@"Support/01/UserList"];
// placed as bellow:
// (Application Directory)/Documents/Support/01/UserList.archive
第一个 "/" 字符将被移除。(例如。)"/Sales/obj" => "Sales/obj"
您可以删除归档文件。
[LKDOcumentDirectoryArchiver removeArchiverForKey:@"UserList"];
检查是否存在归档文件。
[LKDocumentDirectoryArchiver archiverExistsForKey:@"UserList"];
NSCachesDirectory 也可用
[LKCachesDirecotryArchiver archiveRootObject:userList toFile:filename];
Hiroshi Hashiguchi,[email protected]
LKArchiver 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。