Plist文件的读写操作

来源:互联网 发布:域名购买哪个网站好 编辑:程序博客网 时间:2024/06/06 00:13

/**

 *  写入plist文件

 *

 *  @param writecontext 要写入的内容

 *  @param writeName    要写入内容的对应键

 */

+(void)writeToPlist:(ZMPlistKey)zmPlistKey name:(NSString *)writecontext

{

    NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

    NSString *path =[paths objectAtIndex:0];

    NSString *filename = [pathstringByAppendingPathComponent:kPlistName];  //获取路径

    

    //创建一个dic,写到plist文件

    NSString *writeName = [selfreturnPlistKey:zmPlistKey];

    

    if (writeName) {

        NSDictionary *dic = [NSDictionarydictionaryWithObjectsAndKeys:[NSStringstringWithFormat:@"%@",writecontext],writeName,nil];//写入数据

        

        [dic writeToFile:filename atomically:YES];

        

        [[NSNotificationCenterdefaultCenter] postNotificationName:@"token"object:nil];

    }

}


/**

 *  读取plist文件

 *

 *  @param key 对应的键

 *

 *  @return 对应键的内容

 */

+(NSString *)readToPlist:(ZMPlistKey)zmPlistKey

{

    NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

    NSString *path = [paths objectAtIndex:0];

    NSString *filename = [pathstringByAppendingPathComponent:kPlistName];  //获取路径

    

    NSLog(@"%@",filename);

    

    NSString *readName = [selfreturnPlistKey:zmPlistKey];

    NSString *str = nil;

    

    if (readName) {

        NSDictionary* dic2 = [NSDictionarydictionaryWithContentsOfFile:filename];  //读取数据

        str = dic2[readName];

    }

    

    return str;

}


/**

 *  dict写入plist文件

 *

 *  @param dict 要写入plist文件的dict

 */

+(void)dictWriteToPlist:(NSDictionary *)dict plist:(NSString *)plist

{

    NSString *error;

    

    NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,

                                                              NSUserDomainMask, YES) objectAtIndex:0];

    

    NSString *plistPath = [rootPath stringByAppendingPathComponent:plist];

    

    NSLog(@"write %@",plistPath);

    

    NSData *plistData = [NSPropertyListSerializationdataFromPropertyList:dict

                         

                                                                   format:NSPropertyListXMLFormat_v1_0

                         

                                                         errorDescription:&error];

    

    [plistData writeToFile:plistPath atomically:YES];

}


/**

 *  读取dictplist文件

 *

 *  @param plist 读取plist文件

 */

+(NSDictionary *)dictReadPlist:(NSString *)plist

{

    NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,

                                                              NSUserDomainMask, YES) objectAtIndex:0];

    

    NSString *plistPath = [rootPath stringByAppendingPathComponent:plist];

    

    NSLog(@"read %@",plistPath);

    

    NSDictionary *dictionary = [[NSDictionaryalloc] initWithContentsOfFile:plistPath];

    

    return dictionary;

}

0 0
原创粉丝点击