当前位置: 首页 > wzjs >正文

买了网站主机后如何建设网站wordpress 4.9.4 安装

买了网站主机后如何建设网站,wordpress 4.9.4 安装,视频类网站建设的成果,文化传媒公司广告宣传使用NSKeyedUnarchiver归档数据到本地&#xff0c;很多时候保存的并不是基础数据类型&#xff0c;更多是自己定义的Model。有时会碰到归档或者读取的内容跟自己保存的数据类型不匹配。 现在按照思路一步一步解决&#xff1a; 1.先保存文件 保存的数据的类型 #import <Fou…
使用NSKeyedUnarchiver归档数据到本地,很多时候保存的并不是基础数据类型,更多是自己定义的Model。有时会碰到归档或者读取的内容跟自己保存的数据类型不匹配。

现在按照思路一步一步解决:

1.先保存文件

保存的数据的类型
 
#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGIN@interface HSFileModel : NSObject @property (nonatomic, strong) NSURL *fileUrl; //文件链接
@property (nonatomic, copy) NSString *fileName; //文件名@end
@property (nonatomic, strong) NSMutableDictionary<NSString *, HSFileModel *> *selectedFilesData;

 保存的数据到本地的方法

// 保存selectedFilesData到本地文件
- (void)saveSelectedFilesDataToLocal {// 获取文件路径NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *documentsDirectory = [paths objectAtIndex:0];// 拼接文件路径NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"SelectedFilesData.plist"];// 归档字典对象NSError *error = nil;NSData *data = [NSKeyedArchiver archivedDataWithRootObject:self.selectedFilesData requiringSecureCoding:YES error:&error];if (error) {NSLog(@"Error archiving data: %@", error);} else {// 将归档数据写入文件[data writeToFile:filePath atomically:YES];}
}

 
 2.读取刚才保存的数据,确保读取的数据的文件路径跟保存的文件路径一致。

- (void)loadSelectedFilesDataFromLocal {// 获取文件路径// 获取文件路径NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *documentsDirectory = [paths objectAtIndex:0];// 拼接文件路径NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"SelectedFilesData.plist"];// 尝试从文件中读取归档数据NSData *data = [NSData dataWithContentsOfFile:filePath];if (data) {// 解档数据为字典对象NSError *error = nil;self.selectedFilesData = [NSKeyedUnarchiver unarchivedObjectOfClasses:[NSSet setWithArray:@[NSMutableDictionary.class, NSString.class, HSFileModel.class, NSURL.class]] fromData:data error:&error];if (error) {NSLog(@"Error unarchiving data: %@", error);// 可以在此处理解档错误的情况}} else {// 如果文件不存在或读取失败,可以初始化一个空字典self.selectedFilesData = [NSMutableDictionary dictionary];}
}

当调用读取的方法的时候会有一个错误如下:

Printing description of error:

Error Domain=NSCocoaErrorDomain Code=4864 "This decoder will only decode classes that adopt NSSecureCoding. Class 'HSFileModel' does not adopt it." UserInfo={NSDebugDescription=This decoder will only decode classes that adopt NSSecureCoding. Class 'HSFileModel' does not adopt it.}

这因为保存的数据类型有自己定义的Model,而且HSFileModel没有实现NSSecureCoding协议导致不能解码。所有被编码和解码的类都必须遵循NSSecureCoding协议。

3.给HSFileModel实现NSSecureCoding协议
 

#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGIN@interface HSFileModel :  NSObject <NSSecureCoding> @property (nonatomic, strong) NSURL *fileUrl; //文件链接
@property (nonatomic, copy) NSString *fileName; //文件名@end
#import "HSFileModel.h"@implementation HSFileModel
+ (BOOL)supportsSecureCoding {return YES;
}- (void)encodeWithCoder:(NSCoder *)coder {[coder encodeObject:self.fileUrl forKey:@"fileUrl"];[coder encodeObject:self.fileName forKey:@"fileName"];
}- (instancetype)initWithCoder:(NSCoder *)coder {self = [super init];if (self) {self.fileUrl = [coder decodeObjectForKey:@"fileUrl"];self.fileName = [coder decodeObjectForKey:@"fileName"];}return self;
}@end

4.对于 + (nullable id)unarchivedObjectOfClasses:(NSSet<Class> *)classes fromData:(NSData *)data error:(NSError **)error

使用这个方法解档的话,参数(NSSet<Class> *)classes应该传入目标数据可能包含的数据的数据类型的集合。比如:

   self.selectedFilesData = [NSKeyedUnarchiver unarchivedObjectOfClasses:[NSSet setWithArray:@[NSMutableDictionary.class, NSString.class, HSFileModel.class, NSURL.class]] fromData:data error:&error];

到此结束,如大佬有补充请指出。


文章转载自:

http://lDnyJT3E.gmwqd.cn
http://zjP7FCLN.gmwqd.cn
http://jYaQyHn9.gmwqd.cn
http://4T5rBLHj.gmwqd.cn
http://xTIlf3qr.gmwqd.cn
http://CrZXBX1X.gmwqd.cn
http://DsxhnyKB.gmwqd.cn
http://CSnOJALa.gmwqd.cn
http://L6kYwztO.gmwqd.cn
http://YFVJTyED.gmwqd.cn
http://7xkE2DgM.gmwqd.cn
http://ZhPa6GoX.gmwqd.cn
http://2XzxfR5U.gmwqd.cn
http://hsc6QFZ1.gmwqd.cn
http://or22iC0I.gmwqd.cn
http://us2CYytw.gmwqd.cn
http://q1QYZ5ke.gmwqd.cn
http://6mkdOZT0.gmwqd.cn
http://vZHoc1Ky.gmwqd.cn
http://mMWb9pMQ.gmwqd.cn
http://RUkyfr7E.gmwqd.cn
http://hh8MLlAF.gmwqd.cn
http://R1vJxt15.gmwqd.cn
http://D0vdB3Hp.gmwqd.cn
http://8MkXeNwy.gmwqd.cn
http://yy9kEUGX.gmwqd.cn
http://oXPIuowz.gmwqd.cn
http://uu0w5Chn.gmwqd.cn
http://smPPhmGJ.gmwqd.cn
http://CTiXViYl.gmwqd.cn
http://www.dtcms.com/wzjs/671982.html

相关文章:

  • 二手商品网站的设计与建设论文有网址 有空间怎么做网站
  • 网站建设与规划实验报告在互联网上建设网站可选择的方案有
  • 云虚拟主机 wordpress网站建设优化汕头
  • 循化县wap网站建设公司网站排名是什么意思
  • 网站制作学什么网站空间商怎么做
  • 会泽住房和城乡建设局网站网站开发与设计.net
  • 龙采网站建设案例在线无限观看次数破解版
  • 如何用ps做网站标识黄冈seo推广软件的更新版本
  • 淮南二中网站建设好一点网站建设公司
  • 灰色的网站服务器如何搭建php网站
  • 购物便宜的网站有哪些哪家网站做推广好
  • 网站建设投资规划做微商都去哪些网站留言
  • 住房和城乡建设部网站安广东省网页布局的基础
  • 月子会所网站建设方案科技创业创新心得
  • 网站城市切换如何做做企业网站设计价格是多少
  • 网站漏洞wordpress仿社区
  • 如何建设网站功能设计wordpress 响应慢
  • 成都公司网站设计哪家专业没有备案的网站怎么做淘宝客
  • 网站建设开发工具优秀设计工作室网站
  • 南昌网站建设风格企装网
  • 服务器 网站建设 过程信仰类型的企业网站
  • 修改网站主目录的位置专业企业网站建设价格
  • 容桂手机网站建设长沙有哪些正规传媒公司
  • 织梦网站密码忘记做视频网站 带宽
  • 郑州有学网站制作没有备案的网站怎么访问
  • 宜昌 网站建设邯郸市最新招聘信息
  • 网站开发要学网站建设方案申请
  • 广州网站百度排名推广wordpress插件丢失
  • 保山市建设厅网站什么关键词可以搜到那种
  • 网站设计时图片怎么做高质量视频素材网站