首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏ShaoYL

    归档

    *filepath = [homeDirectory stringByAppendingPathComponent:@"temparray.adsf"]; NSArray *unArray = [NSKeyedUnarchiver stringByAppendingPathComponent:@"data.archive"]; 解归档 //解归档 NSData *data = [NSData dataWithContentsOfFile:directoryA]; NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data]; float weight = [unarchiver

    1.6K60发布于 2018-05-11
  • 来自专栏KyXu

    【iOS开发】如何将 Array 存储在本地

    想要把它存储在本地plist文件中,需要用到 NSKeyedArchiver 和 NSKeyedUnarchiver 但是在此之前,你需要把你的类改造一下。 ? 起初的类 ? 而一旦 encode 方法被实现,NSKeyedArchiver 和 NSKeyedUnarchiver 马上就被“解锁”并可以替代 writeToFile 方法啦! ?

    1.9K10发布于 2019-04-11
  • 来自专栏iOS开发~

    iOS_runtime实现NSCoding NSCoder缓存对象 NSCoping

    子类: NSKeyedUnarchiver (反序列化) 把对象写到二进制流中去。 ) lastObject]; NSString *filePath = [path stringByAppendingString:@"/holderModel"]; _holderModel = [NSKeyedUnarchiver NSUserDefaults standardUserDefaults] objectForKey:kTicPods2StandardPreferenceModel]; _standardPreferenceModel = [NSKeyedUnarchiver

    55120编辑于 2022-07-20
  • 来自专栏月亮与二进制

    iOS存储方式之归档

    与之相对的有一个类叫 NSKeyedUnarchiver ,顾名思义就是反归档了,也可以叫解档,可以将之前归档的数据恢复成原始数据。 Cloudox" toFile:demoPath];// 归档一个字符串 if (flag) NSLog(@"归档成功"); NSLog(@"解档后为:%@", [NSKeyedUnarchiver 存储解档后多个对象的容器 NSMutableData *unMultiData = [[NSMutableData alloc] initWithContentsOfFile:multiPath]; NSKeyedUnarchiver *multiUnarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:unMultiData]; NSString *unName

    2.5K20发布于 2021-11-23
  • 来自专栏计算机视觉理论及其实现

    archive文件

    我们还可以用NSKeyedArchiver方式来进行归档,用NSKeyedUnarchiver相应的方式进行反归档。 stringByAppendingPathComponent:@"ArchiverArray.archiver"]; [NSKeyedArchiver archiveRootObject:dataArray toFile:arrayName];// NSKeyedUnarchiver newDictionary=[NSKeyedUnarchiverunarchiveObjectWithFile:dictionaryName]; NSMutableArray *newArray=[NSKeyedUnarchiver

    1.6K10编辑于 2022-09-03
  • 来自专栏阿林前端开发攻城狮

    ios数据类型转换

    -> NSDictionary  NSData *data = [[NSMutableData alloc]initWithContentsOfFile:[self dataFilePath]];  NSKeyedUnarchiver *unarchiver =[[NSKeyedUnarchiver alloc] initForReadingWithData:data];  NSDictionary *myDictionary = 5",nil];     NSData *data= [NSKeyedArchiver archivedDataWithRootObject:arr1];     NSArray *arr2= [NSKeyedUnarchiver

    1.1K10发布于 2021-10-29
  • 来自专栏一“技”之长

    iOS数据持久化之二——归档与设计可存储化的数据模型基类

    其存储与读取的过程,主要封装在两个类中:NSKeyedArchiver和NSKeyedUnarchiver。 homePath];     //方式一和方式二的效果完全一样 只是解归档的时候不同          //方式一的解归档:先获取data数据,在进行data数据的解归档     NSLog(@"%@",[NSKeyedUnarchiver  unarchiveObjectWithData:data]);     //方式二的解归档:直接解文件中的归档     NSLog(@"%@",[NSKeyedUnarchiver unarchiveObjectWithFile  * unarchiver = [[NSKeyedUnarchiver alloc]initForReadingWithData:data];     //进行反序列化     NSString * name NSData * data =  [NSKeyedArchiver archivedDataWithRootObject:obj];     //进行解档     MyObject * obj2 = [NSKeyedUnarchiver

    1.4K30发布于 2018-08-16
  • 来自专栏滕先生的博客

    iOS应用数据存储(数据持久化)的常用方式一、iOS数据持久化方式二、应用沙盒(应用程序的文件夹)三、使用方法

    Person alloc] init]; [NSKeyedArchiver archiveRootObject:person toFile:path]; (3)解档一个对象 Person *person = [NSKeyedUnarchiver atomically:YES]; (2) 解档步骤 // 从文件中读取数据 NSData *data = [NSData dataWithContentsOfFile:path]; // 根据数据,解析成一个NSKeyedUnarchiver 对象 NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data]; Person *person1

    3.4K70发布于 2018-05-18
  • 来自专栏谈补锅

    控制器和应用数据存储

    3)、使用NSKeyedArchiver对自定义对象进行归档, 使用NSKeyedUnarchiver解析归档对象       首先自定义类需要实现NSCoding协议,然后实现方法      - (void ; } } /* 使用NSKeyedUnarchiver解析归档对象 */ - (IBAction)readyDataByArchiver:(id)sender{ NSString * , YES) lastObject] stringByAppendingPathComponent:@"tanPerson.data"]; TanPerson *person = [NSKeyedUnarchiver 将数据读取到data上 NSMutableData *data = [NSMutableData dataWithContentsOfFile:path]; //解析数据 NSKeyedUnarchiver *unArchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data]; TanPerson *person1 = [unArchiver

    1.2K30发布于 2018-09-27
  • 来自专栏落影的专栏

    iOS开发笔记(十三)

    UTF16的字符),而用- (nullable const char *)cStringUsingEncoding:(NSStringEncoding)encoding;可以转换成char*字符串; 2、NSKeyedUnarchiver 偶现NSException NSKeyedUnarchiver有时候在解压的时候会出现下面的异常: NSException-[NSKeyedUnarchiver initForReadingWithData

    1.6K20发布于 2020-02-18
  • 来自专栏Antony iOS Development

    「死磕」Core Data——非标准数据类型的保存

    当然,也可以选择Binary Data: 保存前,调用NSKeyedUnarchiver的archivedDataWithRootObject:方法返回NSData类型数据,让Core Data可以对其进行保存 ; 取回时,用NSKeyedUnarchiver的unarchiveObjectWithData:方法,将取回的NSData数据,转换回数组、字典对象。 reverseTransformedValue:(id)value { NSData *data = (NSData *)value; // 将NSData对象转换为自定义对象 HAEq *eq = [NSKeyedUnarchiver

    1.5K60发布于 2019-02-14
  • 来自专栏云原生布道专栏

    【IOS开发基础系列】数据持久化专题

        NSData *data = [NSData dataWithContentsOfFile: fileName];     if ([data length] > 0) {         NSKeyedUnarchiver *unArchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData: data];         Student *student = [ NSData *theData = [NSData dataWithContentsOfFile: filename];  //创建一个NSKeyedUnarchiver实例对数据进行解码。 NSKeyedUnarchiver *archiver = [[NSKeyedUnarchiver alloc] initForReadingWithData: theData]; //使用与归档编码使用相同的键对象进行解码

    1K20编辑于 2023-10-16
  • 来自专栏编程之旅

    iOS开发——数据持久化之归档

    而要解档使用数据,只要使用解档NSKeyedUnarchiver类中的+ (nullable id)unarchiveObjectWithData:(NSData *)data;方法就可以实现 NSUserDefaults standardUserDefaults] objectForKey:kEditInfraredRepeater]; NSArray *array = [NSKeyedUnarchiver

    83310发布于 2018-08-30
  • 来自专栏iOS 开发杂谈

    浅谈 NSUserDefaults

    synchronize]; 读取 NSData *newPersonData = [standardDefaults objectForKey:"personKey"]; Person *Person = [NSKeyedUnarchiver

    82460发布于 2018-09-30
  • 来自专栏大师级码师

    iOS数据持久化

    NSKeyedArchiver archiveRootObject:personList toFile:arcPath]; // 使用反归档类,获取已归档的数据 // Person person = [NSKeyedUnarchiver arcPath]; // NSLog( @"%@, %@, %ld", person.name, person.gender, person.age ) ; NSArray person = [NSKeyedUnarchiver

    83200发布于 2021-10-29
  • 来自专栏小蠢驴iOS专题

    实际开发中的深浅拷贝问题 - 解答

    解决办法:实现真正的深拷贝 NSArray *trueDeepCopyArray = [NSKeyedUnarchiver unarchiveObjectWithData: [NSKeyedArchiver someArray copyItems:YES];就能实现真正的深拷贝 如果数组的层数多级,例如demo中的 - [ [model,model] ],必须用NSArray* trueDeepCopyArray = [NSKeyedUnarchiver

    88540发布于 2018-05-24
  • 来自专栏小黑娃Henry

    iOS-Swift 完整登录方案(touchID&faceID& keychain)一iOS-Swift 完整登录方案(touchID&faceID& keychain)一

    let data = try Data.init(contentsOf: URL(fileURLWithPath: path)) do{ return try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData true, "用户数据解档失败") } } catch { assert(true, "用户数据解档路径错误") } }else{ return NSKeyedUnarchiver.unarchiveObject

    2.7K20发布于 2021-08-09
  • 来自专栏hrscy

    将所有对象存到数据库中在Shop.m中

    while (set.next) { NSData *data = [set objectForColumnName:@"shop"]; Shop *shop = [NSKeyedUnarchiver

    2.4K20发布于 2018-08-30
  • 来自专栏向治洪

    iOS 本地轻量级数据存储之NSUserDefaults

    getObject = [ud objectForKey:@"myBusinessCard"]; ClassA *bcNew = [[ClassA alloc] init]; bcNew = [NSKeyedUnarchiver

    1.7K80发布于 2018-02-06
  • 来自专栏码客

    iOS文件上传的几种形式

    } -(void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag{ // 反归档 NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data]; self.filePathArray = [unarchiver

    5.8K20发布于 2019-10-22
领券