前言 在 OC 语言中,归档是一个过程,即用某种格式来保存一个或多个对象,以便以后还原这些对象。 通常,这个过程包括将(多个)对象写入文件中,以便以后读取该对象。可以使用归档的方法进行对象的深复制。 采用归档的形式来保存数据,该数据对象需要遵守 NSCoding 协议,并且该对象对应的类必须提供 e            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-31 17:30:40
                            
                                346阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1:在自定义的类里面要重写两个方法。-(void)encodeWithCoder:(NSCoder *)encoder;-(id)init            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-05-09 16:22:02
                            
                                74阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            归档与恢复归档
归档,英文Archiver[‘ɑrkɪvə],这里指的是将OC的对象存储为一个文件或者网络上的一个数据块。 
恢复归档。英文UnArchiver,指的是将一个来自文件或网络的归档数据块恢复成内存中的一个OC对象。
 
归档和恢复主要用于对自己定义类型对象进行存储。在程序暂停或关闭前保存自己定义数据。在程序又一次恢复状态或启动后读取存储的自己定义数据。 
支持归            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-06-03 17:31:00
                            
                                241阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            1、NSKeyedArchiver、NSKeyedUnArchiver1)、archiveRootObject:toFile 归档对象到这个路径文件2)、unarchiveObjectWithFile:从这个路径文件把对象进行恢复对象归档这里我们可以理解Android里面的序列化,就是把对象保存到文件持久化,Android里面进行持久化的必须实现Serializable和Parcela...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-11 14:14:14
                            
                                132阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.头文件#import @interface ZRQQLoginSingleton : NSObject@property (nonatomic, co            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-02-25 16:02:31
                            
                                150阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # NSKeyedArchiver 是否加密?
在 iOS 和 macOS 开发中,NSKeyedArchiver 类被广泛用于对象的序列化与反序列化。通过这个类,我们可以将对象保存到文件系统或其他持久存储中,以便在应用程序的下一次运行中恢复状态。虽然 NSKeyedArchiver 为我们提供了极大的便利,但安全性问题也随之而来。
## NSKeyedArchiver 的基本用法
###            
                
         
            
            
            
            ios中数据持久化存储方式一般有5种:NSUserDefault、对象归档(NSKeyedArchiver)、文件操作、数据库存储(SQLite3)、CoreData。 1、NSUserDefault用于保存程序相关的偏好设置和配置数据等,以便下次启动程序后能恢复上次的设置。 NSUserDefau            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-07-27 10:32:00
                            
                                137阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            1、NSKeyedArchiver、NSKeyedUnArchiver1)、archiveRoo 现Serializable和Parcela...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-12 15:08:51
                            
                                48阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            NSKeyedArchiver : NSCoder @interface NSData : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> @protocol NSCoding - (void)encodeWithCoder:(NSCod            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-06-21 16:30:00
                            
                                120阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            # iOS NSKeyedArchiver实现步骤
## 1. 创建要归档的对象
首先,你需要创建一个自定义的对象,这个对象需要符合NSCoding协议,以便进行归档和解档操作。
```swift
class Person: NSObject, NSCoding {
    var name: String
    var age: Int
    
    init(name: Strin            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-03 07:43:30
                            
                                29阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            结论:NSKeyedArchiver 以健值对+类名的形式保存数据; NSDictionary *tDic = @{@"kxxxx":@"hhhh",@"kyyyy":@"pppp",@"keeeek":@"oooo"}; NSMutableData *data = [[NSMutableData            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-09-29 17:34:00
                            
                                81阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            
# Objective-C
做的一个Framework跟App整合到一起,因为用到了多线程,所以通信不可避免,但是Framework里又载入了一个C++的Plugin,里面有许多struct,在把这类struct变成对象序列化时遇到问题。
以前做的很傻,把struct的所有成员用NSDictionary来一个个封装,再一个个反序列化,好傻呀。要是struct定义变了,那代码就又要修改了~所            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2012-02-12 10:41:00
                            
                                240阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            使用NSKeyedArchiver保存数据
使用NSKeyedArchiver保存数据内容导读: 使用NSKeyedArchiver保存数据....
    
        
            
            
            NSKeyedArchiver到底是什么东西呢?看看大家的说法:
            1.用处很大. 但是用起来            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2011-11-10 10:49:24
                            
                                3693阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 使用 NSKeyedArchiver 存储对象集合的指南
在 iOS 开发中,数据的持久化存储是非常重要的一环。NSKeyedArchiver 是苹果提供的一个对象归档工具,可以用来将对象集合保存到文件中,以便在后续的应用程序会话中读取。本文将引导你通过以下几个步骤来实现 NSKeyedArchiver 存对象集合。
## 整体流程
首先,我们来看看整个流程,下面是一个简单的步骤表:            
                
         
            
            
            
            iOS NSKeyedArchiver存储数据是一种常用的序列化机制,可以将对象保存到磁盘中,方便后续的数据恢复。在日常开发中,尤其是在处理复杂数据时,NSKeyedArchiver的应用显得尤为重要。本文将详细记录解决NSKeyedArchiver存储数据过程中的各种挑战与决策。
### 背景定位
在任何移动应用中,数据持久化都是一个重要的业务场景。以用户偏好设置为例,用户的喜好需要在应用重            
                
         
            
            
            
            - (NSMutableArray *)loadMarkersFromFilePath:(NSString *)filePath { NSMutableArray *markers = nil; if (filePath == nil || [filePath length] == 0 || [[NSFileManager defaultManager] fileExistsAtPath:filePath] == NO) { markers = [[[NSMutableArray alloc] init] autorelease]; } else { NSData *data = [[N...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2012-02-12 11:07:00
                            
                                103阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            # iOS开发 NSKeyedArchiver的使用
NSKeyedArchiver是iOS开发中一种常用的数据持久化方式,它可以将自定义对象转换成二进制数据进行存储,并可以在需要的时候将这些二进制数据重新还原成对象。本文将介绍NSKeyedArchiver的使用方法,并提供相应的代码示例。
## 什么是NSKeyedArchiver
NSKeyedArchiver是Foundation框架            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-02-01 08:59:27
                            
                                518阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            iOS开发UI篇—ios应用数据存储方式(归档) 一、简单说明  
   在使用plist进行数据存储和读取,只适用于系统自带的一些常用类型才能用,且必须先获取路径相对麻烦; 
   
   偏好设置(将所有的东西都保存在同一个文件夹下面,且主要用于存储应用的设置信息) 
   
   归档:因为前两者都有一个致命的缺陷,只能存储常用的类型。归档可以实现把自定义的对象存放在文件中。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-11 20:01:02
                            
                                95阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            OC的数值类型,主要分为2种:typedef类型和对象类型;以常用数据类型为例,C和OC数值类型的对比如下:NSValue数值对象,用于复杂数据类型的对象化封装,如结构体;NSValue 对自定义结构体类型的初始化// 1、结构体类型声明
typedef struct {
    char name[81];
    int  age;  
}Person;
// 2、声明结构体变量并初始化
            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-15 17:56:08
                            
                                33阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Object-C中使用NSKeyedArchiver归档(将各种类型的对象存储到文件中) yedArchiver归档(将各种类型的对象存储到文件中) 将各种类型的对象存储到文件中,而不仅仅是字符串、数组和字典类型,有一种更灵活的方法。就是利用NSKeyedAarchiver类创建带键(keyed)的档案来完成。Mac OS X从版本10.2开始支持带键的档案。在此之前,要使用N            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2015-07-17 13:49:34
                            
                                427阅读