`

NSCoding

 
阅读更多
@protocol NSCoding

- (void)encodeWithCoder:(NSCoder *)aCoder;
- (id)initWithCoder:(NSCoder *)aDecoder;

@end


//
//  Apple.h
//  test_GCD
//
//  Created by xserver on 12-7-12.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Apple : NSObject <NSCoding>
{
    NSString *name;
}

@property(nonatomic, copy)NSString *name;

@end


extern NSString * const kCodingName;


//
//  Apple.m
//  test_GCD
//
//  Created by xserver on 12-7-12.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import "Apple.h"

@implementation Apple
@synthesize name;

- (void)encodeWithCoder:(NSCoder *)aCoder
{
    [aCoder encodeObject:self.name forKey:kCodingName];
}

- (id)initWithCoder:(NSCoder *)aDecoder
{
    if (self = [super init]) {
        self.name = [aDecoder decodeObjectForKey:kCodingName];

        if (aDecoder == nil) {  
            return self;  
        }
    }
    return self;
}
@end

NSString * const kCodingName = @"name";
分享到:
评论

相关推荐

    NSCoding 对象存储序列化

    `NSCoding`是苹果提供的一种对象序列化机制,允许我们将对象转换为字节流(编码)并从字节流中还原对象(解码)。这对于保存、加载自定义对象到文件系统或云端存储非常有用。本篇文章将深入探讨`NSCoding`协议以及...

    使用NSCoding和NSFileManager保存数据demo

    本示例“使用NSCoding和NSFileManager保存数据demo”聚焦于两种关键的Objective-C技术:NSCoding协议和NSFileManager类,它们用于对象的序列化和文件管理。 NSCoding是苹果提供的一个协议,主要用于对象的序列化和...

    编码解码的艺术:深入Objective-C中的NSCoding协议

    ### 编码解码的艺术:深入 Objective-C 中的 NSCoding 协议 #### 1. NSCoding 协议简介 `NSCoding` 是一个在 Objective-C 中被广泛使用的协议,它定义了对象如何进行序列化和反序列化的标准方法。序列化是指将对象...

    ios-利用NSCoding与runtime实现模型本地存储.zip

    本教程将介绍如何利用`NSCoding`协议和Objective-C的运行时(runtime)机制来实现模型的本地存储。通过这个压缩包中的`QKCoding.h`和`QKCoding.m`文件,我们可以看到一个简洁的解决方案。 `NSCoding`是Apple提供的...

    Runtime 实现NSCoding的自动归档和解档.zip

    其中,NSCoding协议是苹果提供的一种序列化机制,用于将对象的状态保存到磁盘,以便后续恢复。本教程将深入探讨如何利用Runtime来实现NSCoding的自动归档和解档,从而避免手动实现每个需要归档的对象的...

    NSCodingHelper:一种使用NSCoding ^ _ ^的简单方法

    一种使用NSCoding ^ _ ^的简单方法 在.m文件中添加两行代码,然后运行它! #import "property.h" #import "CXLCodingHelper.h" @implementation property - (id)initWithCoder:(NSCoder *)aDecoder { self = ...

    Parse-NSCoding, 用于序列化解析对象的iOS库.zip

    Parse-NSCoding, 用于序列化解析对象的iOS库 解析 nscoding此库为 PFObject/的实例或者子类添加 NSCoding 支持,以便它们可以被序列化和反序列化为( 对于自定义缓存插件,例如) 。 所有属性都将被序列化,包括解析...

    AutoNSCoding:使 NSCoding 协议自动化

    几句话就能让你的 NSCoding 协议自动化。 ##用法 安装 将两个文件复制到您的项目中,然后#import "NSObject+NSCoding.h" 。 现在支持CocoaPods 。 ###自定义类 self是Parent的子类 上级: # pragma mark - ...

    详解在swift中实现NSCoding的自动归档和解档

    在Swift编程中,`NSCoding`协议用于对象的序列化和反序列化,也就是我们常说的归档和解档。这个过程允许我们将对象的状态保存到持久化的存储中,如磁盘,然后在需要时恢复这些状态。这对于数据备份、应用间通信以及...

    FierceCoder:围绕NSCoding协议的轻量级Swift包装器

    围绕NSCoding协议的瘦Swift包装器。 注意:这仍然是一项正在进行的工作。 特征 该包装器提供了Swift协议和两个用于编码和解码数据的类。 这使得Swift Structs或Classs可以使用NSCoding,而不必直接遵循该协议和随...

    Coding iOS客户端开源

    在iOS开发中,`NSCoding` 是一个非常重要的协议,它允许对象进行序列化和反序列化,即将对象的状态转化为可以存储或传输的数据格式,然后再还原回来。在标题提到的"Coding iOS客户端开源"项目中,`NSCoding` 被用于...

    NSCodingDemo

    `NSCoding`是Apple提供的一种数据序列化机制,它使得Objective-C的对象能够被编码(存储)和解码(加载)。在这个名为"NSCodingDemo"的示例项目中,我们将深入探讨`NSCoding`协议以及`NSKeyedArchiver`的使用,这两...

    Xcode代码生成

    本文将深入探讨"Xcode代码生成"这一主题,主要涉及懒加载、NSCoding协议以及接口转属性的相关知识点。 **懒加载(Lazy Loading)** 懒加载是一种优化程序性能的设计模式,它推迟了某些资源的初始化,直到这些资源...

    EasyNSCoding:简单方便的实现NSCoding、NSCopying协议,一行代码即可实现。希望各位能帮忙点个Star,谢谢!

    在项目中经常会用到copy、mutableCopy方法,或者调用NSKeyedArchive、NSKeyedUnarchive类方法,这时候就需要实现NSCoding和NSCopying协议。这两个协议的代码是固定形式的,每次都是把属性挨个写上去,非常影响开发...

    ios-数据存储管理类.zip

    "ios-数据存储管理类.zip" 文件很可能包含了一个简单的实现,通过`NSCoding`协议来实现对象在iOS应用的沙盒环境中的存储和读取。`NSCoding`是Apple提供的一个接口,用于序列化和反序列化对象,即将对象转换为字节流...

    IOS应用源码——NSUserdefaults(读取和写入自定义对象).zip

    需要注意的是,`NSUserDefaults` 不支持存储所有的自定义对象类型,只有实现了`NSCoding`协议的对象才能被正确地存储和读取。如果试图存储不兼容的对象,程序可能会崩溃或返回`nil`。 总结起来,这个源码示例旨在...

    NSUserdefaults读取和写入自定义对象.rar

    要使一个类支持`NSCoding`,需要遵循`NSCoding`协议,并实现两个方法:`encodeWithCoder:` 和 `initWithCoder:`。 2. `encodeWithCoder:`方法用于将对象的状态编码到一个归档器中。在这个方法中,你需要遍历对象的...

    (OC)归档解档(单个模型)

    首先,我们需要理解苹果的Foundation框架提供的NSCoding协议。任何需要被归档的对象必须遵循这个协议,提供两个关键方法:`encodeWithCoder:` 和 `initWithCoder:`。`encodeWithCoder:`用于编码(归档)对象,而`...

    自动归档代码

    自动归档是iOS提供的一种数据持久化方法,它基于NSCoding协议,可以帮助开发者无须手动编写大量的序列化和反序列化代码,就能实现对象到文件的存储。本篇文章将深入探讨iOS自动归档的实现及其优势。 首先,我们要...

    Swift5.2 (model)归档解档

    这个过程通常涉及到Foundation框架中的`NSCoding`协议。 `NSCoding`协议定义了两个关键方法:`encode()`和`decode()`。任何遵循`NSCoding`协议的类都可以被归档和解档。首先,我们需要让我们的模型类(model)遵循`...

Global site tag (gtag.js) - Google Analytics