[非凡程序員]歸檔解檔和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

相關文章
相關標籤/搜索