SandBox基本机制


此处省略app.h/.m main.h

//

//  MainViewController.m

//  UI16_SandBox

//

//  Created by NinGery on 15/5/20.

//  Copyright (c) 2015 mac. All rights reserved.

//


#import "MainViewController.h"

#import "Boss.h"


@interface MainViewController ()


@end


@implementation MainViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    

    self.view.backgroundColor = [UIColor whiteColor];

    

    NSLog(@"%@", NSHomeDirectory());

    

    

    // 沙盒中的文件夹

    

    // 1. Documents: 文档文件夹, 保存用户的数据. 最好不要保存体积很大的文件

    // 2. Caches: 缓存文件夹, 应用程序的缓存内容(图片/数据/视频/音频...)

    // 3. Preferences: 偏好设置文件夹, 给开发者保存数据用的

    // 4. tmp: 临时文件夹,

    

    

    // 把简单对象写入本地

    

    // 1. 字符串写入本地

    

    NSString *str = @"王磊吃醋了, 我把张家伟让给他得了, 打脸";

    

    // 创建一个文件路径

    

    // 获取Documents文件夹的路径

    // 参数1: 要找哪个文件夹的路径

    // 参数2: 寻找的范围

    // 参数3: 是不是绝对路径

    NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

    

    // 拼接一个文件名, 生成一个文件路径

    NSString *strPath = [docPath stringByAppendingString:@"/aaaa.txt"];

    

    

    // 参数1: 文件路径

    // 参数2: 对写入过程进行线程保护

    [str writeToFile:strPath atomically:YES encoding:NSUTF8StringEncoding error:nil];

    

    NSLog(@"文件路径: %@", strPath);

    

    

    

    

    

    

    

    

    // 数组对象写入本地

    

    NSArray *arr = @[@"张家伟", @"王维武"];

    

    // 数组保存本地的文件扩展名是plist/xml

    NSString *arrPath = [docPath stringByAppendingPathComponent:@"arr.plist"];

    

    [arr writeToFile:arrPath atomically:YES];

    

    

    

    

    // 字典对象写入本地

    

    NSDictionary *dic = @{@"0":@"张家伟", @"1":@"王维武"};

    

    

    NSString *dicPath = [docPath stringByAppendingPathComponent:@"dic.plist"];

    

    [dic writeToFile:dicPath atomically:YES];

    

    

    

   

    // 根据路径读取数据

    

    NSArray *readArr = [NSArray arrayWithContentsOfFile:arrPath];

    NSLog(@"%@", readArr);

    

    

    

    

    // 复杂对象写入本地

    

    // 自己创建的类产生的对象, 叫复杂对象

    

    

    Boss *boss = [[Boss alloc] init];

    boss.name = @"张家伟";

    boss.gender = @"unknown";

    boss.number = 2;

    boss.phone = 120;

    

    NSString *bossPath = [docPath stringByAppendingPathComponent:@"boss.suibian"];

    

    // 归档类: 负责把一个对象, 写入本地/ 生成NSData


    [NSKeyedArchiver archiveRootObject:boss toFile:bossPath];

    

    // 反归档类: 负责读取本地的数据, 产生一个新的对象

    

   Boss *newBoss = [NSKeyedUnarchiver unarchiveObjectWithFile:bossPath];

    

    NSLog(@"%@", newBoss.gender);

    

    

}

@end



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值