美文网首页iOS学习笔记iOS Developer
有关iOS中NSUserDefaulnts的相关知识

有关iOS中NSUserDefaulnts的相关知识

作者: w佐w | 来源:发表于2016-06-02 12:07 被阅读100次

    NSUserDefaulnts中可以存储NSData,NSString,NSNUmber,NSDate,NSArray,NSDictionary这些实例,同时NSUserDefaults是单例,同时也是线程安全的。

    你可以在程序运行的时候从用户默认的数据库中读取程序的设置。同时NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作。可以通过调用synchronize方法来使内存中的缓存与用户默认系统进行同步。

    也可以自定义存储一些NSData,NSUserDefaulnts取出时都是不可变数据,即使你存入的是可变数组,取出时也是不可变的额.

    存储自定义的对象

    .h

    @interfaceMyObject : NSObject

    {

    NSNumber*lowValue;

    NSNumber*highValue;

    NSString*titleString;

    }

    @property(nonatomic, retain)NSNumber*lowValue;

    @property(nonatomic, retain)NSNumber*highValue;

    @property(nonatomic, retain)NSString*titleString;

    .m

    - (void)encodeWithCoder:(NSCoder *)encoder

    {

    [encoder encodeObject:self.lowValue forKey:@"lowValue"];

    [encoder encodeObject:self.highValue forKey:@"highValue"];

    [encoder encodeObject:self.titleString forKey:@"titleString"];

    }- (id)initWithCoder:(NSCoder *)decoder

    {if(self =[super init])

    {

    self.lowValue= [decoder decodeObjectForKey:@"lowValue"];

    self.highValue= [decoder decodeObjectForKey:@"highValue"];

    self.titleString= [decoder decodeObjectForKey:@"titleString"];

    }returnself;

    }

    相关文章

      网友评论

        本文标题:有关iOS中NSUserDefaulnts的相关知识

        本文链接:https://www.haomeiwen.com/subject/inckdttx.html