有关iOS中NSUserDefaulnts的相关知识

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的相关知识)