| 
 +(NSMutableDictionary*)getList:(NSString *)key 调用时 Instruments中偶尔提示内存泄漏 指向 请教问题出在哪里?  | 
|
![]() 11分  | 
+(NSMutableDictionary*)getList:(NSString *)key
{
  //使用autorelease
  [NSMutableDictionary *dict=[[NSMutableDictionary alloc] initWithContentsOfFile:key] autorelease];
  return dict;
}
 | 
![]()  | 
+(NSMutableDictionary*)getList:(NSString *)key
{
  //使用autorelease
  NSMutableDictionary *dict=[[[NSMutableDictionary alloc] initWithContentsOfFile:key] autorelease];
  return dict;
}
 | 
![]() 22分  | 
 
1,NSMutableDictionary *obj = [self getList:key]; 
[obj.release]; 是不对的,肯定报错的 因为(getList:)是+ 2,代码在释放池中的话,可以返回 autorelease  | 
![]()  | 
 
使用autorelease会报错 obj为空 
我现在需要obj持久保持的  | 
![]()  | 
 
我指的obj为空 是在窗口切换后为空 第一次加载时数据是有的. 
 | 
![]() 11分  | 
 
obj 设置为类中的成员变量,
 
obj=[[NSMutableDictionary alloc] init]; obj=[self getlist:key]; 试试看。  | 
![]()  | 
 
补充一点。。
 
在该方法内,记得obj release 一次。 dealloc 中,也要release 一次  | 
![]() 22分  | 
 
最佳写法:
 
+(NSMutableDictionary*)getList:(NSString *)key 记得外部不需要release了。  | 
                    
