У меня странная проблема с NSUsrDefaults.Всякий раз, когда я получаю данные из NSUserDefaults, они временно заполняются.Я извлекаю его в viewDidLoad, где он извлекается.
-(void)viewDidLoad{
companies = [NSMutableArray array];
oldCompanies = [[NSUserDefaults standardUserDefaults] arrayForKey:@"companyData"];
if( companies )
{
for( NSData *data in oldCompanies )
{
companyObj = (Company*) [NSKeyedUnarchiver unarchiveObjectWithData:data];
[companies addObject:companyObj];
}
}
}
Но вне viewDidLoad всякий раз, когда я пытаюсь получить доступ к данным, массиву "oldCompanies", а также "companies" показывается "nil".
EDIT: я кодируюобъект моей компании в классе, который является подклассами NSCoding, как показано ниже, но нигде не выделяет и не сохраняет свойства.Может ли это быть подвохом?
- (void)encodeWithCoder:(NSCoder *)encoder
{
//Encode properties, other class variables, etc
[encoder encodeObject:self.companyId forKey:@"id"];
[encoder encodeObject:self.companyTitle forKey:@"title"];
[encoder encodeObject:self.companyImage forKey:@"image"];
}
- (id)initWithCoder:(NSCoder *)decoder
{
self = [super init];
if( self != nil )
{
//decode properties, other class vars
self.companyId = [decoder decodeObjectForKey:@"id"];
self.companyTitle = [decoder decodeObjectForKey:@"title"];
self.companyImage = [decoder decodeObjectForKey:@"image"];
}
return self;
}
Кто-нибудь может помочь, пожалуйста?
Спасибо заранее.