【发布时间】:2014-03-14 15:15:21
【问题描述】:
据我了解,NSMutableDictionary 在释放自身时释放所有对象。我为此写了一个测试:
#import <Foundation/Foundation.h>
int main(int argc, char *argv[])
{
@autoreleasepool
{
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
NSObject *object = [[NSObject alloc] init];
[dictionary setObject:object forKey:@"key"];
[dictionary release];
NSLog(@"%@", object);
}
}
但是,对象仍然存在,并且没有被释放:
2014-02-15 09:34:31.883 Untitled[15548:707] <NSObject: 0x7fa0b9c09c60>
为什么会这样?
【问题讨论】:
-
尝试在最后一种情况下转储保留计数。
-
你真正想做什么?
标签: objective-c oop nsmutabledictionary ownership