使用YYModel的歸檔

歸檔這種存儲(chǔ)方式,比較輕量和高效的. 之前不怎么使用,現(xiàn)在用起來(lái)了,幾個(gè)筆記也好! 以下是隨手寫(xiě)的一個(gè)示例Demo ,依賴(lài)于YYModel ,自己不想用第三方庫(kù),那就要一個(gè)個(gè)的寫(xiě)編碼解碼,或者使用runtime鍵值映射稍微簡(jiǎn)單點(diǎn)兒,我這里不重復(fù)造輪子了.

#import <Foundation/Foundation.h>
#import "YYModel.h"

@interface Person : NSObject<NSCoding, NSCopying>

@property (nonatomic,copy) NSString *name;

@property (nonatomic,copy) NSString *age;

@end



#import "Person.h"

@implementation Person

//重寫(xiě)以下幾個(gè)方法 
- (void)encodeWithCoder:(NSCoder*)aCoder {
    [self yy_modelEncodeWithCoder:aCoder];
}

- (id)initWithCoder:(NSCoder*)aDecoder
{
    self = [super init];
    return [self yy_modelInitWithCoder:aDecoder];
}

- (id)copyWithZone:(NSZone*)zone {
    return [self yy_modelCopy];
}

- (NSUInteger)hash {
    return [self yy_modelHash];
}

- (BOOL)isEqual:(id)object {
    return [self yy_modelIsEqual:object];
}

@end


#import <UIKit/UIKit.h>

@interface ViewController : UIViewController


@end



#import "ViewController.h"
#import "Person.h"

#define KDocumentPath [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) lastObject]

#define kPersonInfoPath [KDocumentPath stringByAppendingPathComponent:@"personInfo.archiver"]


@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

//先存檔  然后屏蔽這段代碼  看看是否歸檔到了本地
//    NSMutableArray *dataArray =[NSMutableArray array];
//
//    for (NSInteger i = 10; i < 20 ; i++) {
//        Person * p =[Person new];
//        p.name = [NSString stringWithFormat:@"name==-%ld",i];
//        p.age = [NSString stringWithFormat:@"+++%ld歲",i];
//        [dataArray addObject:p];
//    }
//
//    BOOL ret =  [NSKeyedArchiver archiveRootObject:dataArray toFile:kPersonInfoPath];
//
//    if (ret) {
//        NSLog(@"歸檔成功");
//    }else{
//        NSLog(@"歸檔失敗");
//    }

    NSArray *arr =[NSKeyedUnarchiver unarchiveObjectWithFile:kPersonInfoPath];
    for (Person *p in arr) {
        NSLog(@"名字%@,年齡%@", p.name,p.age);
    }

}

@end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,113評(píng)論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,410評(píng)論 4 61
  • 我想說(shuō)父母對(duì)孩子的愛(ài)是不會(huì)褪色的。 你會(huì)因?yàn)楹⒆涌荚?00分而愛(ài)孩子多一分嗎?不會(huì)的。你會(huì)因?yàn)楹⒆涌荚?9分而愛(ài)孩...
    溫暖媽咪閱讀 583評(píng)論 2 2
  • 一 拉著你離別的手 我不言,你不說(shuō) 彼此卻淚雨婆娑 二 站在二十樓的窗口 看著如水車(chē)流 咫尺之遙你...
    覓緣人閱讀 979評(píng)論 0 2
  • 一個(gè)人在家最怕的是寂寞。但找到事情做,時(shí)間還不夠用。 一早起床就開(kāi)始洗衣服,然后收家。斷舍離的念頭一直揮之不去,...
    心際流塵閱讀 214評(píng)論 0 0

友情鏈接更多精彩內(nèi)容