iOS-自訂歸檔 儲存資料

來源:互聯網
上載者:User

標籤:

兩個按鈕

////  HMPerson.h//  08-自訂對象歸檔////  Created by yz on 14-8-29.//  Copyright (c) 2014年 iThinker. All rights reserved.//#import <Foundation/Foundation.h>@interface HMPerson : NSObject<NSCoding>@property (nonatomic, assign) int age;@end////  HMPerson.m//  08-自訂對象歸檔////  Created by yz on 14-8-29.//  Copyright (c) 2014年 iThinker. All rights reserved.//#import "HMPerson.h"@implementation HMPerson// 在對象歸檔的時候調用// 哪些屬性需要歸檔// 這些屬性怎麼歸檔- (void)encodeWithCoder:(NSCoder *)aCoder{    [aCoder encodeInt:_age forKey:@"age"];}// 在對象解檔的時候調用// 哪些屬性需要解檔// 這些屬性怎麼解檔- (id)initWithCoder:(NSCoder *)aDecoder{    // 當父類實現了NSCoding,就能調用 [super initWithCoder]    if (self = [super init]) {        _age = [aDecoder decodeIntForKey:@"age"];    }    return self;}@end
////  HMView.h//  08-自訂對象歸檔////  Created by yz on 14-8-29.//  Copyright (c) 2014年 iThinker. All rights reserved.//#import <UIKit/UIKit.h>@interface HMView : UIView@end////  HMView.m//  08-自訂對象歸檔////  Created by yz on 14-8-29.//  Copyright (c) 2014年 iThinker. All rights reserved.//#import "HMView.h"@implementation HMView- (id)initWithFrame:(CGRect)frame{    self = [super initWithFrame:frame];    if (self) {        // Initialization code    }    return self;}// 解析XIB會調用- (id)initWithCoder:(NSCoder *)aDecoder{    if (self = [super initWithCoder:aDecoder]) {            }    return self;}/*// Only override drawRect: if you perform custom drawing.// An empty implementation adversely affects performance during animation.- (void)drawRect:(CGRect)rect{    // Drawing code}*/@end
////  HMViewController.h//  08-自訂對象歸檔////  Created by yz on 14-8-29.//  Copyright (c) 2014年 iThinker. All rights reserved.//#import <UIKit/UIKit.h>@interface HMViewController : UIViewController@end////  HMViewController.m//  08-自訂對象歸檔////  Created by yz on 14-8-29.//  Copyright (c) 2014年 iThinker. All rights reserved.//#import "HMViewController.h"#import "HMPerson.h"@interface HMViewController ()@end@implementation HMViewController- (IBAction)save:(id)sender {    HMPerson *person = [HMPerson new];    person.age = 18;        NSString *docPath =  NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];        // 拼接檔案路徑    NSString *filePath = [docPath stringByAppendingPathComponent:@"person.data"];        [NSKeyedArchiver archiveRootObject:person toFile:filePath];    }- (IBAction)read:(id)sender {    NSString *docPath =  NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];        // 拼接檔案路徑    NSString *filePath = [docPath stringByAppendingPathComponent:@"person.data"];        HMPerson *p = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];    NSLog(@"%d",p.age);}- (void)viewDidLoad{    [super viewDidLoad];    // Do any additional setup after loading the view, typically from a nib.}- (void)didReceiveMemoryWarning{    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}@end

 

iOS-自訂歸檔 儲存資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.