您的位置:首页 > 其它

NSUserDefaults使用规范

2016-04-08 14:05 369 查看
NSUserDefaults 通常用来保存一下用户名,密码啥的,现在我想告诉大家的是,我们使用它的时候,充分考虑使用它可以保存数组,字典这样的功能。
保存数据的key须表示数据的名称、种类或用途!同类数据打包后用同一个key保存!

举例,此处使用的是讲array转为set的形式,没有这个对象,直接存会导致崩溃allObjects是转换的方法。

//举例子存储

            NSUserDefaults *ud = [NSUserDefaults
standardUserDefaults];
            NSMutableSet *groupBackImage = [NSMutableSet
setWithArray:[ud arrayForKey:kUD_GroupBackImage]];
            [groupBackImage addObject:self.groupInfoModel.groupId];
            [ud setObject:[groupBackImage
allObjects] forKey:kUD_GroupBackImage];
            [ud synchronize];

//举例子取出

            NSUserDefaults *ud = [NSUserDefaults
standardUserDefaults];
            NSMutableSet *groupBackImage = [NSMutableSet
setWithArray:[ud arrayForKey:kUD_GroupBackImage]];
            [groupBackImage removeObject:self.groupInfoModel.groupId];
            [ud setObject:[groupBackImage
allObjects] forKey:kUD_GroupBackImage];
            [ud synchronize];

举例,关于字典的存取

            [self.topConversations
removeObjectForKey:model.chatId];
            [[NSUserDefaults
standardUserDefaults] setObject:self.topConversations
forKey:kUD_TopConversations];
            [[NSUserDefaults
standardUserDefaults] synchronize];
再来一发

            [self.topConversations
setObject:[NSNumber
numberWithDouble:[NSDate
timeIntervalSinceReferenceDate]]
                                  forKey:model.chatId];
            [[NSUserDefaults
standardUserDefaults] setObject:self.topConversations
forKey:kUD_TopConversations];
            [[NSUserDefaults
standardUserDefaults] synchronize];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息