NSUserDefault存储类

Posted huahuahu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSUserDefault存储类相关的知识,希望对你有一定的参考价值。

  1. 类要实现NSCoding协议
    实现encodeWithCoderinitWithCoder方法
  2. 先把类的instance archive成NSData,然后存起来

    TGTest *tt = [TGTest new];
    tt.num = 3;
    NSData *dd = [NSKeyedArchiver archivedDataWithRootObject:tt];
    [[NSUserDefaults standardUserDefaults] setObject:dd forKey:@"objtest"];
    
  3. 读数据时,读出NSData,然后unarchive得到instance。

    NSData *dd = [[NSUserDefaults standardUserDefaults] objectForKey:@"objtest"];
    @try
    {
        TGTest *tt= [NSKeyedUnarchiver unarchiveObjectWithData:dd];
    }
    @catch (NSException *exception)
    {
        NSLog(@"%@",exception);
    }
    @finally
    {
    
    }
    

以上是关于NSUserDefault存储类的主要内容,如果未能解决你的问题,请参考以下文章

NSUrl 未在 NSUserDefault 中存储为绝对字符串

使用 Alamofire 时如何将令牌存储在 NSUserDefault 中?

滚动存储在 NSUserDefault 中的 UITextField 上的 UITableView 更改数据

用NSKeyedArchiver存储数据(归档)

iOS 中 关于 NSUserDefault中存储可变数组的问题

为啥不建议使用NSUserDefault存储大量数据