这是一个简单的类:
#import "One.h"
#import "Two.h"
@implementation DataFileRegistrar
static NSMutableDictionary *elementToClassMapping;
+ (void)load
{
[self registerClass:[One class] forElement:@"one"];
[self registerClass:[Two class] forElement:@"two"];
}
+ (void)registerClass:(Class)class forElement:(NSString *)element
{
if (!elementToClassMapping) {
elementToClassMapping = [NSMutableDictionary dictionaryWithObject:class forKey:element];
} else {
[elementToClassMapping setValue:class forKey:element];
}
}
+ (id)classForElement:(NSString *)element
{
return [elementToClassMapping valueForKey:element];
}
@end
问题是这个编译器消息:
objc[7172]: Object 0x6840720 of class __NSCFDictionary autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug
有什么想法吗?
基本上,我想要一个简单的类,其中包含几个类方法和一个静态字典。它总是在没有实例化的情况下使用。我想在应用程序启动后立即将它用于几件事,然后我想释放它的内存。我认为ARC可以解决这个问题。