您的位置:首页 > 移动开发 > IOS开发

iOS plist文件写入和读取

2017-01-13 15:00 471 查看
有小伙伴问了一个问题,plist写入失败的问题。下面我说下相关的代码:

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

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

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

    

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

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

    if (!userDict) {

        userDict = [[NSMutableDictionary
alloc] init];

    }

    //设置属性值

    [userDict setObject:dictionary
forKey:nickName];

    //写入文件

    [userDict writeToFile:plistPath
atomically:YES];

}

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

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

- (void)getPlistDictionary:(NSString *)nickName

{

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

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

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: