Вы должны использовать только NSUserDefaults.Если вы думаете, что есть много NSUserDefaults, я предлагаю вам создать 1 класс модели и пойти с ним.Создайте один класс модели и настройте его как свойства, а также создайте объект этого класса и сохраните его в NSUserDefaults, что будет легко для вас, поскольку это только одноразовая реализация.
@interface SettingsModelClass : NSObject
{
NSString *strSetting1;
BOOL boolSetting2;
}
@property (nonatomic,retain) NSString *strSetting1;
@property (nonatomic,assign) BOOL boolSetting2;
// Реализация
@implementation SettingsModelClass
@synthesize strSetting1, boolSetting2;
-(void)dealloc
{
[strSetting1 release];
[super dealloc];
}
- (void)encodeWithCoder:(NSCoder *)encoder
{
//Encode properties, other class variables, etc
[encoder encodeObject:self.strSetting1 forKey:@"StringSetting"];
[encoder encodeBool:self.boolSetting2 forKey:@"BoolSetting"];
}
- (id)initWithCoder:(NSCoder *)decoder
{
self = [super init];
if( self != nil )
{
//decode properties, other class vars
self.strSetting1 = [decoder decodeObjectForKey:@"StringSetting"];
self.boolSetting2 = [decoder decodeBoolForKey:@"BoolSetting"];
}
return self;
}
@end
Пожалуйста, оставляйте комментарии, если у вас есть какие-либо сомнения.Я хотел бы помочь вам.
Обновление Да, вы получите доступ через делегата приложения.Или даже вы можете создать его как экземпляр класса singleton.Этот подход использует OOPS fundas, поэтому я считаю, что нужно следовать этой схеме, как мне кажется.