[非凡程序员]归档解档和APPKit

归档概念:归档是把对象写入文件保存在硬盘中,当再次从新打开程序时,能够还原这些对象
归档后的文件时加密的,属性列表是明文的
// 建立一个可变大小的数据流
NSMutableData *mutableData =[[NSMutableData alloc]init];
// 把用归档格式的数据传值给可变大小的数据流
NSKeyedArchiver *archiver =[[NSKeyedArchiver alloc]initForWritingWithMutableData:mutableData];
// 把集合数据以归档形式编码
[archiver encodeObject:["5","3" ] forKey:"number"];
// 完成归档
[archiver finishEncoding];
// 把归档过来的可变大小的数据流 写入文件中 永久储存
[mutableData writeToFile:@"/Users/feifanchengxuyuan/Desktop/NSFileManager/test.txt" atomically:YES];程序员

解档概念:解档就是从文件中读取出想过归档形式的编码后,还原对象类型的操做。
还原数据:从硬盘中读取文件,生成NSData实例,根据Data实例进行建立和初始化还原归档文件实例
还原文件,根据key去访问相应的value值编码

//建立一个NSFileManager类型的对象
       NSFileManager *fileManager1 = [NSFileManager defaultManager];
       //用NSData文件接收从PATH路径读取出来的文件内容
       NSData *fileData1 =[fileManager1 contentsAtPath:"/Users/feifanchengxuyuan/Desktop/NSFileManager/test.txt"];
       //实例化一个解档对象 注意:初始化为解档格式并要放入要解档的数据流
       NSKeyedUnarchiver *unArchiver = [[NSKeyedUnarchiver alloc]initForReadingWithData:fileData1];
       //输入要解档的key
       NSArray *arrayUnarchiver = [unArchiver decodeObjectForKey:
"number"];
       NSLog("arrayUnArchiver:%,%@",arrayUnarchiver0,arrayUnarchiver1);"/Users/feifanchengxuyuan/Desktop/NSFileManager/test.txt"];
       //实例化一个解档对象 注意:初始化为解档格式并要放入要解档的数据流
       NSKeyedUnarchiver *unArchiver = [[NSKeyedUnarchiver alloc]initForReadingWithData:fileData1];
       //输入要解档的key
       NSArray *arrayUnarchiver = [unArchiver decodeObjectForKey:"arrayUnArchiver:%

APPKit :atom

//
// ViewController.h
// APPKit
//
// Created by 非凡程序员 on 15/11/10.
// Copyright (c) 2015年 Querida. All rights reserved.
//加密

//spa

//  ViewController.m.net

//  APPKitcode

//orm

//  Created by 非凡程序员 on 15/11/10.对象

//  Copyright (c) 2015 Querida. All rights reserved.get

//

#import <Cocoa/Cocoa.h>

@interface ViewController : NSViewController
@property (weak) IBOutlet NSTextField *inputLable;
@property (weak) IBOutlet NSTextField *resluteLable;
- (IBAction)changeUpp:(id)sender;
- (IBAction)changeLower:(id)sender;

@end

#import "ViewController.h"

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
// [_inputLable setStringValue:@"www"];
}

- (void)setRepresentedObject:(id)representedObject {
[super setRepresentedObject:representedObject];

// Update the view, if already loaded.
}

- (IBAction)changeUpp:(id)sender {
NSString *str=[_inputLable stringValue];
NSString *changeUpp=[str uppercaseString];
[_resluteLable setStringValue:changeUpp];
}

- (IBAction)changeLower:(id)sender {
NSString *str1=[_inputLable stringValue];
NSString *changeLower=[str1 lowercaseString];
[_resluteLable setStringValue:changeLower];

}@end

相关文章
相关标签/搜索