iOS plist文件写入和读取

来源:互联网 发布:淘宝开店照片示例 编辑:程序博客网 时间:2024/04/29 13:13

有小伙伴问了一个问题,plist写入失败的问题。下面我说下相关的代码:

1.写入plist(代码创建的plist文件)此方法是不断写入,不会替换之前数据

- (void)insertToPlist:(NSDictionary *)dictionary nickName:(NSString *)nickName {

    NSString *plistPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) firstObject]stringByAppendingPathComponent:@"chatRoom.plist"];

    

    NSMutableDictionary *userDict = [[NSMutableDictionaryalloc] initWithContentsOfFile:plistPath];

    //下边if判断很重要,不然会写入失败.

    if (!userDict) {

        userDict = [[NSMutableDictionaryalloc] init];

    }

    //设置属性值

    [userDict setObject:dictionaryforKey:nickName];

    //写入文件

    [userDict writeToFile:plistPathatomically:YES];

}

注意:如果想每次都替换数据,把上边的[[NSMutableDictionary allocinitWithContentsOfFile:plistPath]改成:[[NSMutableDictionary allocinit],if语句三行代码去掉即可


2.读取plist(代码创建的plist文件)

- (void)getPlistDictionary:(NSString *)nickName

{

    NSString *plistPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) firstObject]stringByAppendingPathComponent:@"chatRoom.plist"];

    NSMutableDictionary *userDict = [[NSMutableDictionaryalloc ]initWithContentsOfFile:plistPath];

    //userDict[nickName]就是上边方法存入的字典,取出来就可以进行相应的赋值操作啦

}


1 0