plist

作者: su_19 | 来源:发表于2016-04-12 21:15 被阅读55次

    main

    
    #import <Foundation/Foundation.h>
    #import "YTDog.h"
    
    #define PATH  @"/Users/yuting/Desktop/授课/CD1601/OC阶段/day5-归档和解归档/Plist1.plist"
    #define PATH2 @"/Users/yuting/Desktop/授课/CD1601/OC阶段/day5-归档和解归档/data.plist"
    #define PATH3  @"/Users/yuting/Desktop/授课/CD1601/OC阶段/day5-归档和解归档/Plist2.plist"
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            
            //plist文件只能存储NSString、NSData、NSDate、NSNumber、BOOL、NSArray(NSMutableArray)、NSDictionary(NSMutableDictionary),其他类创建的对象都没有办法存储
            
            //===========创建plist文件(往plist文件中写数据)==========
            //1.先创建一个数组或者字典(数组的数组元素和字典的键值对的值都只能上诉plist文件能够存储的类型)
            
            NSDate * date = [NSDate date];  //获取系统当前时间
        
            NSArray * array = @[@"哈哈",date,@1000,@NO];
            
            //2.将数组写入plist文件中(如果这个文件不存在会创建这个plist文件;如果这个plist文件已经存在,会修改plist文件的内容)
            //参数1:文件路径(只能是plist文件的文件路径)
            //参数2:是否是原子操作(是否支持线程安全)
            [array writeToFile:PATH atomically:NO];
            
            
            //3.将字典写入plist文件中
            NSDictionary * dict = @{@"11":@"abc", @"22":date, @"33":array, @"44":@123.321};
            
            [dict writeToFile:PATH atomically:NO];
            
            //============将plist文件中的内容读取出来=============
            //如果想要将plist文件内容读出来,必须知道plist文件的最外层结构
            //最外层是字典
            NSDictionary * dict2 = [[NSDictionary alloc] initWithContentsOfFile:PATH2];
            
            //拿到字典中的数组
            NSArray * tarray = dict2[@"333"];
            NSString * name = tarray[0];
            
            NSLog(@"name:%@",name);
            NSLog(@"%@", dict2);
            
            //最外层是数组
            NSArray * array2 = [NSArray arrayWithContentsOfFile:@"/Users/yuting/Desktop/授课/CD1601/OC阶段/day5-归档和解归档/data1.plist"];
            
            NSLog(@"%@", array2);
            
            //============plist文件不能存储其他的数据类型的对象========
            
            YTDog * dog = [[YTDog alloc] init];
            dog.name = @"大黄";
            
            //如果数组或字典中出现了plist文件不能存储的类型的对象,plist文件写入会失败
            NSArray * array3 = @[@"abcd", @100, dog];
            
            [array3 writeToFile:PATH3 atomically:NO];
            
            
        }
        return 0;
    }
    
    
    

    .h
    main

    #import <Foundation/Foundation.h>
    
    @interface YTDog : NSObject
    
    @property(nonatomic, copy) NSString * name;
    
    @end
    
    
    

    相关文章

      网友评论

          本文标题:plist

          本文链接:https://www.haomeiwen.com/subject/bwjwlttx.html