Object-c 归档--源自技术

Oracle 19c DataGuard配置避坑实录:从归档模式到网络配置,手把手解决‘ORA-28040’等常见报错 本文详细解析了Oracle 19c DataGuard配置过程中的常见问题与解决方案,包括归档模式设置、参数配置陷阱、ORA-28040错误处理等关键环节。通过实战案例和最佳实践,帮助DBA避开配置雷区,确保高可用架构的稳定运行。特别针对网络配置和性能优化提供了专业建议,助力企业构建可靠的数据库灾备体系。 阅读详情

一、OBj-C类的归档包含以下:

NString、NSArray、NSDicionary、NSSet、NSDate、NSNumber、NSdata。这还包括嵌套对象,如包含字符串,甚至其他数组对象的数组。

可以使用writeToFile、writeToURL归档

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;

- (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)atomically;

可以使用dictionaryWithContentsOfFile、dictionaryWithContentsOfURL、initWithContentsOfFile、initWithContentsOfURL还原

+ (id /* NSDictionary * */)dictionaryWithContentsOfFile:(NSString *)path;

+ (id /* NSDictionary * */)dictionaryWithContentsOfURL:(NSURL *)url;

- (id /* NSDictionary * */)initWithContentsOfFile:(NSString *)path;

- (id /* NSDictionary * */)initWithContentsOfURL:(NSURL *)url;


二、 NSKeyedArchiver(加密)

上述OBj-C类可以直接使用以下方法进行编码和解码

+ (BOOL)archiveRootObject:(id)rootObject toFile:(NSString *)path;

+ (id)unarchiveObjectWithFile:(NSString *)path;


自定义的类需要实现NSCoding协议的encodeWithCoder、initWithCoder函数,然后使用NSKeyedArchiver进行编码和解码

[objc]  view plain  copy
  1. -(void) encodeWithCoder:(NSCoder *)aCoder  
  2. {  
  3.     [super encodeWithCoder:aCoder];//先执行父类的编码  
  4.     [aCoder encodeObject:km forKey:@"UserDetailswl"];  
  5.     [aCoder encodeDouble:mark forKey:@"UserDetailsmark"];  
  6.     NSLog(@"UserDetails encode-------");  
  7. }  
  8.   
  9. -(id) initWithCoder:(NSCoder *)aDecoder  
  10. {  
  11.     self = [super initWithCoder:aDecoder];<span style="font-family: Menlo; ">//先执行父类的解码</span>  
  12.     if (self) {  
  13.         km = [aDecoder decodeObjectForKey:@"UserDetailswl"];  
  14.         mark = [aDecoder decodeDoubleForKey:@"UserDetailsmark"];  
  15.         NSLog(@"UserDetails decoder-------------");  
  16.     }  
  17.     return self;  
  18. }  

三、时用NSData批量归档

[objc]  view plain  copy
  1. +(void) objEncodeAndDncodeNsData  
  2. {  
  3.     UserDetails * details;  
  4.     UserDetails * details2;  
  5.     NSMutableData * date;  
  6.     NSKeyedArchiver * archiver;  
  7.     NSString * path;  
  8.       
  9.     details = [[UserDetails alloc] init];  
  10.     details.km = @"物理";  
  11.     details.mark = 12.6;  
  12.     details.name = @"小静静";  
  13.     details.age = [[NSNumber alloc] initWithInt:18];  
  14.       
  15.     details2 = [[UserDetails alloc] init];  
  16.     details2.km = @"数学";  
  17.     details2.mark = 24;  
  18.     details2.name = @"那英";  
  19.     details2.age = [[NSNumber alloc] initWithInt:18];  
  20.       
  21.     date = [NSMutableData data];  
  22.     archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:date];  
  23.     [archiver encodeObject:details forKey:@"details"];  
  24.     [archiver encodeObject:details2 forKey:@"details2"];  
  25.     [archiver finishEncoding];  
  26.       
  27.     path =[[NSString alloc] initWithFormat:@"%@details.archive",NSTemporaryDirectory()];  
  28.     if ([date writeToFile:path atomically:YES]) {  
  29.         NSLog(@"归档成功!");  
  30.     }  
  31.       
  32.     NSLog(@"--------解码-------");  
  33.     UserDetails * details_;  
  34.     UserDetails * details2_;  
  35.     NSMutableData * date_;  
  36.     NSKeyedUnarchiver * unArchiver;  
  37.       
  38.     date_ = [NSMutableData dataWithContentsOfFile:path];  
  39.     unArchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:date_];  
  40.       
  41.     details_ = [unArchiver decodeObjectForKey:@"details"];  
  42.     details2_ = [unArchiver decodeObjectForKey:@"details2"];  
  43.       
  44.     [unArchiver finishDecoding];  
  45.       
  46.     NSLog(@"details_ :%@",details_);  
  47.     NSLog(@"details2_ :%@",details2_);  
  48.     NSLog(@"details_.km=%@ ,details_.mark=%lf ,details_.name=%@ ,details_.age=%@ ",details_.km,details_.mark,details_.name,details_.age);  
  49.     NSLog(@"details2_.km=%@ ,details2_.mark=%lf ,details2_.name=%@ ,details2_.age=%@ ",details2_.km,details2_.mark,details2_.name,details2_.age);  
  50. }  
四、使用NSdata和NSKeyedArchiver实现深复制

[objc]  view plain  copy
  1. +(void) objCopy  
  2. {  
  3.     NSMutableArray * array;  
  4.     NSMutableArray * array_;  
  5.     NSData * data;  
  6.       
  7.     array = [[NSMutableArray alloc] initWithObjects:@"a",@"b",@"c", nil nil];  
  8.     data = [NSKeyedArchiver archivedDataWithRootObject:array];  
  9.     array_ = [NSKeyedUnarchiver unarchiveObjectWithData:data];  
  10.       
  11.     [array addObject:@"d"];  
  12.       
  13.     for (int i=0; i<[array count]; i++) {  
  14.         NSLog(@"array %i %@",i+1,[array objectAtIndex:i]);  
  15.     }  
  16.       
  17.     for (int i=0; i<[array_ count]; i++) {  
  18.         NSLog(@"array_ %i %@",i+1,[array objectAtIndex:i]);  
  19.     }  
  20. }  
股票智能体:多标准图形比对、归档与实时分类系统 本文提出了一种多模态股票智能体系统,采用三级架构设计,融合CNN、YOLOv8和ViT+TFT三种主流技术路线。系统包含四个核心模块:数据工程与标准化绘图模块(支持K线、布林通道和谐波模式三种标准图形)、图形比对与归档模块(基于FAISS向量数据库)、实时分类与推理引擎(集成YOLOv8模式检测和多模态融合分类)以及决策输出模块。通过特征提取、相似图形检索和实时推理的闭环流程,实现对股票形态的智能识别与预测。系统支持端到端分类、实时模式检测和多模态融合三种分析方式,为量化交易提供可视化标注和自动化分析报告。 阅读详情

相关推荐

Oracle历史数据管理:DSG_SnapArchiving技术详解

DSG_SnapArchiving技术源自于对传统数据归档方式的反思与改进。在数字化时代,数据爆炸性增长为企业的存储系统带来了前所未有的压力。传统的数据归档方法在处理大量数据时往往显得力不从心,不仅耗时长,还容易出错,无法满足现代企业的需求。DSG_SnapArchiving技术应运而生,旨在提供一种更为高效、可靠的解决方案来处理数据归档问题。该技术集合了快照技术的即时性和归档技术的长期存储优势,以确保数据在不损失一致性和完整性的前提下,能够快速转移至成本效益更高的存储介质。

weixin_42593130的博客 889

NSData 文档整理

NSData /*** Base64是一组二进制到文本转化的方案,以ASSCII格式表示二进制数据,这些方案用来编码二进制数据以存储或者通过把多媒体文件转换成文本数据进行传输,这个能保证数据在传输的过程中的完整性。Base64醉常见的用于是处理电子邮件附件,或者解码小图片。在iOS7之前,Base64的编码和解码是需要自己实现的或者是使用第三方库,但是现在苹果提供一些API来实现Base64

上孟的专栏 1547

uniapp无感刷新token实现过程

可以看到已经触发了刷新token接口,并且重新请求上次失败的列表接口,无感刷新token逻辑已经正常,但为什么列表接口请求成功,还一直loading没关闭捏,就是因为后续代码未执行,await接口的返回没有成功resolve。路漫漫其修远兮,前端道路逐渐迷茫,时隔好久好久终于想起了我还有一个小博客,最近在一直在弄uniapp,属实有被恶心到,但也至少会用了,最近实现了一个比较通用的功能,就是无感刷新token,但在过程中发现一个问题就是。3、排查await的列表接口为何没有成功resolve。

weixin_40618068的博客 3595

NSString简单细说(五)—— 向文件或者URL写入

版本记录 版本号 时间 V1.0 2017.05.05 前言 前面我简单的写了写NSString的初始化,写了几篇,都不难,但是可以对新手有一定的小帮助,对于大神级人物可以略过这几篇,NSString本来就没有难的,都是细枝末节,忘记了查一下就回了,没有技术难点,下面我们继续~~~1. NSString简单细说(一)—— NSString整体架构2. NSString简单细说(二)—— NSString的初始化3. NSString简单细说(三)—— NSString初始化4. N

feelinghappy的专栏 559

从Cartographer3D到LIO-SAM:主流3D激光SLAM算法怎么选?一份给机器人工程师的实战避坑指南

本文深入探讨了从Cartographer3D到LIO-SAM等主流3D激光SLAM算法的选型策略,为机器人工程师提供实战避坑指南。通过对比不同算法在传感器配置、环境特性和计算资源等方面的表现,帮助开发者根据项目需求选择最优方案,并分享传感器标定、资源优化等实用技巧。

weixin_27310985的博客 154

在Docker中集成GPU监控体系

先上效果图 等文档整理出来再更

tamako0v0的博客 2472

09-OC中NSArray的文件读写(File/NSURL)

NSArray的文件读写(File/NSURL)  //写         //array         NSArray *array=@[@"good",@"sister",@"好妹妹"];         //1路径         NSString *path=@"/Users/RHP/Desktop/练习/01-OC增强/20141222/05-NSArra

blaze747 653

记录一下本地部署Dify的坑

1. 截止2025-3-4为止,请注意,不要直接拉Dify的1.0.0版本。请先试用0.15.3版本。1.0.0有一个bug需要解决。3. 请使用docker-ce 新版本,docker-engine等老版本可能会有部分容器启动脚本执行莫名报错。2. 注意,请使用docker-compose V2版本,或者V1较高版本,否则会导致解析官方yml模板错误。

哈利路亚的收藏夹 5346

NSData, NSURL, NSBundle

NSData: 创建方法: + (id)data; + (id)dataWithBytes:(constvoid *)bytes length:(NSUInteger)length;复制C数组所包含的数据来初始化NSData的数据 + (id)dataWithBytesNoCopy:(void *)bytes length:(NSUInteger)length;直接利用C数组所包含的数据来

Qirito的专栏 1530

pytorchDataLoader中调整数据长度不一致问题(lstm等)

数据长度不一致 用pytorch做rnn的时候,如果输入数据不一样长,可以用两种方式解决。 一种是自定义collate方法, #自定义collate_fn dataloader.DataLoader(dataset,4,True,collate_fn=my_collate) 然后里面写数据和标签载入方式即可 def my_collate(batch): data = [item[0] for item in batch] target = [item[1] for item in batc

weixin_48174100的博客 7771

分级 API Key 的使用案例

分级 API Key 的使用案例 1. 背景介绍 1.1 问题由来 随着网络服务的普及,API(Application Programming Interface,应用程序编程接口)成为了连接不同系统和应用的关键桥梁。API Key(API密钥)

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 1022

NSDictionary细说(八)—— 字典的过滤和存储

转载自:https://www.jianshu.com/p/e442d6d70d50 一、- (NSSet<KeyType> *)keysOfEntriesPassingTest:(BOOL (^)(KeyType key, ObjectType obj, BOOL *stop))predicate; 该方法的作用是:返回一组键,它的对应的值满足block块。 下面看一下返回值:返回一组key,key对应的值满足predicate。 下面看一下示例代码 - (void)demo.

沸腾的泪水的专栏 584

想重装OpenClaw?先执行这4步彻底卸载,避免配置冲突

在重装OpenClaw之前,彻底卸载是非常重要的一步。如果不彻底卸载,可能会导致: - 残留的配置文件与新安装的版本冲突 - 旧的依赖包干扰新的安装过程 - 服务冲突导致启动失败 - 数据混乱影响系统稳定性

一键难忘的博客 1044

php 归档文件,PHP开发之归档格式phar文件概念与用法详解

一个php应用程序往往是由多个文件构成的,如果能把他们集中为一个文件来分发和运行是很方便的,这样的列子有很多,比如在window操作系统上面的安装程序、一个jquery库等等,为了做到这点php采用了phar文档文件格式,这个概念源自java的jar,但是在设计时主要针对PHP 的 Web 环境,与 JAR 归档不同的是Phar 归档可由 PHP本身处理,因此不需要使用额外的工具来创建或使用,使用...

weixin_39559333的博客 151

uniapp+renderJS+google map开发安卓版APP非小程序

uniapp+renderJS+google map开发安卓版APP非小程序,google map小叉号不显示,google map自定义marker右上角的小叉号如何去掉,uniapp+google map不显示

renkai721的专栏 667

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

php归档格式:phar文件详解(创建、使用、解包还原提取)

一个php应用程序往往是由多个文件构成的,如果能把他们集中为一个文件来分发和运行是很方便的,这样的列子有很多,比如在window操作系统上面的安装程序、一个jquery库等等,为了做到这点php采用了phar文档文件格式,这个概念源自java的jar,但是在设计时主要针对 PHP 的 Web 环境,与 JAR 归档不同的是Phar 归档可由 PHP 本身处理,因此不需要使用额外的工具来创建或使用,

云客的技术博客【云游天下 做客四方】 2万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

电视节目资料数字化处理全流程:从采集到归档的完整技术指南

视频编码与媒体处理是数字内容管理的核心技术基础。其原理涉及对原始视音频信号的采样、压缩与封装,以在保证质量的同时减少存储与传输成本。在媒体资产管理、历史档案数字化及内容创作等领域,高效规范的视音频处理技术具有重要价值。通过FFmpeg、DaVinci Resolve等工具,可以实现视频的精准裁剪、格式转码、去隔行修复及元数据管理。本文以电视节目包装素材为例,详细解析了从**资料上传**到**节目资料**归档的完整技术链路,涵盖采集、分析、处理与存储各环节的工程实践,为处理类似CCTV-13《360度》等经典

weixin_34297704的博客 434

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

SingleFile网页归档终极指南:高效保存完整网页的完整解决方案

SingleFile是一款强大的网页归档工具,它能帮助你将完整的网页保存为单个HTML文件。作为一款Web扩展和CLI工具,SingleFile兼容Chrome、Firefox、Microsoft Edge、Safari等多种浏览器,让你轻松保存网页内容,实现离线访问和长期归档。 ## 🌟 为什么选择SingleFile? 在信息爆炸的时代,网页内容瞬息万变,重要信息可能随时消失。Singl

gitblog_00752的博客 647

php归档格式:phar后缀文件详解(创建、使用、解包还原提取)

   PHP交流群:294088839 Python交流群:652376983 优点:   可单个phar文件部署项目 参考:https://segmentfault.com/a/1190000002166235 缺点:     打包后,速度肯定比引入源代码慢了 参考:http://blog.youkuaiyun.com/ugg/article/details/25335079 ...

Json的知识梦工厂 1713

php phar 文件使用,PHP开发之归档格式phar文件概念与用法

一个php应用程序往往是由多个文件构成的,如果能把他们集中为一个文件来分发和运行是很方便的,这样的列子有很多,比如在window操作系统上面的安装程序、一个jquery库等等,为了做到这点php采用了phar文档文件格式,这个概念源自java的jar,但是在设计时主要针对PHP 的 Web 环境,与 JAR 归档不同的是Phar 归档可由 PHP本身处理,因此不需要使用额外的工具来创建或使用,使用...

weixin_30197101的博客 173

SwiftGG iOS 客户端:技术爱好者的阅读利器

SwiftGG iOS 客户端:技术爱好者的阅读利器 项目介绍 SwiftGG iOS 客户端是一款专为技术爱好者设计的移动阅读应用,它源自知名技术社区SwiftGG。该应用通过简洁的界面设计和便捷的操作流程,为用户提供了一个快速浏览和阅读SwiftGG网站归档文章的平台。目前,SwiftGG iOS 客户端已经上架App Store,用户可以直接点击下载安装,体验最新的技术文章。 项目技术分析 ...

gitblog_00970的博客 402

PhoenixFS:受Git启发的版本化文件系统

PhoenixFS:受Git启发的版本化文件系统 项目基础介绍及主要编程语言 PhoenixFS是一个由C语言编写的开源项目,它是一款用户空间实现的文件系统,灵感源自Git的设计哲学。此项目利用FUSE(Filesystem in Userspace)在Linux平台上运作,提供了一种无需额外配置即可对文件进行无缝版本控制的能力。项目源代码和文档都托管在GitHub上,展示了高质量的工程实践和对细...

gitblog_00952的博客 323

3 个按钮,5 分钟免费做出 U 盘启动盘

你肯定遇到过:电脑蓝屏,准备重装系统,却在"用 U 盘启动"这步卡住——普通 U 盘插上根本进不了安装界面。Rufus 是一个免费开源的 U 盘启动盘制作工具:把 U 盘格式化、写入系统镜像并配好引导,BIOS 老机器和 UEFI 新机器都能启动,单个可执行文件,双击即用。 ## 🧭 先搞清楚它在干嘛 它只干一件事:把一块普通 U 盘变成可引导的安装盘。 - **做什么**:格式化 U 盘

gitblog_00180的博客 348

项目推荐:Objective-C轻量级水平日历——objc-CGCalendarView

项目推荐:Objective-C轻量级水平日历——objc-CGCalendarView 项目基础介绍及编程语言 objc-CGCalendarView是一个由优快云公司的InsCode AI大模型提及的开源项目,它是一款灵感源自Square的TimesSquare的轻量级横向日历/日期选择器。该项目专为iOS应用设计,采用Objective-C作为主要编程语言,确保了在苹果生态中的高效集成与优...

gitblog_00162的博客 629
上一篇: JAVA 错误集合--源自技术
下一篇: 数据库锁
MyJava_Dx
博客等级 码龄11年 1粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值