我想使用NSMutableDictionary來緩存稍後將使用的一些數據。我的自定義對象是以下幾點: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];
我的問題是高速緩存的計數.values爲零時,我稍後檢索此對象如下:
[cache objectForKey:@"KEY"];
我可以檢索「數據」,當我將它放入緩存時,對象的內存地址與地址相同。 有什麼不對?我需要一些善良的人幫助,任何信息都是有幫助的。謝謝
'addObject:「DATA1」'不應該工作 - 是一個錯字? – 2010-09-05 03:46:20
你在這裏期待什麼?如果你把一個對象放到NSDictionary中,然後再檢索它,它應該是同一個對象。 – 2010-09-05 03:52:01