Я хочу использовать NSMutableDictionary для кэширования некоторых данных, которые я буду использовать позже.Мой пользовательский объект выглядит следующим образом:
@interface MyData : NSObject {
NSRange range;
NSMutableArray *values;
}
@property (nonatomic, retain) NSMutableArray *values;
и реализует:
- (id)init {
if (self = [super init]) {
values = [[NSMutableArray alloc] init];
}
return self;
}
, и когда я хочу кешировать его, я использую его так:
NSMutableDictionary *cache = [[NSMutableDictionary alloc] init];
NSString *key = @"KEY";
MyData *data = [[MyData alloc] init];
// save some data into data
[data.values addObject:"DATA1"];
[data.values addObject:"DATA2"];
//... ...
[cache setObject:data forKey:key];
MyВопросы, счетчик cache.values равен нулю, когда я получаю этот объект позже, как показано ниже:
[cache objectForKey:@"KEY"];
я могу получить «данные», и адрес памяти объекта совпадает с адресом, когда я помещаю его вкэш.в чем дело?Мне нужна помощь ребят, любая информация полезна.спасибо