Я использую Restkit для возврата кучи объектов, когда пользователи нажимают на вход в систему. Мне нужно сохранить эти различные объекты и свойства в пользовательском NSObject для ссылки во всем приложении.Как сохранить данные в NSObject
Я не гений в Objc, поэтому мне нужен пример и объяснение того, что я делаю неправильно. У SO нет примеров для пользовательских NSObjects, поэтому я спрашиваю здесь.
Заранее спасибо, я обязательно приму правильный ответ.
В loginViewController у меня есть это, чтобы установить массив в пользовательском NSObject:
Crap *crapper = [[Crap alloc] init];
[crapper setCrapArray:array];
этого Crap.h:
#import <Foundation/Foundation.h>
@interface Crap : NSObject <NSCoding>
@property (nonatomic, retain) NSArray *crapArray;
- (void)encodeWithCoder:(NSCoder *)enCoder;
- (id)initWithCoder:(NSCoder *)aDecoder;
@end
И Crap.m:
#import "Crap.h"
@implementation Crap
@synthesize crapArray;
- (void)encodeWithCoder:(NSCoder *)encoder {
//Encode properties, other class variables, etc
[encoder encodeObject:self.crapArray forKey:@"crapArray"];
}
- (id)initWithCoder:(NSCoder *)decoder {
if((self = [super init])) {
//decode properties, other class vars
self.crapArray = [decoder decodeObjectForKey:@"crapArray"];
}
return self;
}
@end
Я использую это для извлечения данных в FeedViewController:
Crap *crap = [[Crap alloc] init];
NSLog(@"%d", crap.crapArray.count);
Это, конечно, 0 (количество массивов действительно 40 штук).
Отличный ответ, я думаю, он решит мою проблему. Возможно, вы могли бы сказать мне, что можно снова и снова обновлять массив дерьма внутри другого контроллера? Или он сохранит значение для всего жизненного цикла? – rihe
Можно снова и снова обновлять массив дерьма внутри другого контроллера представления, просто попробуйте его и не забудьте импортировать файл Crap в контроллер вида, в котором вы хотите обновить массив –