`
tank2308635
  • 浏览: 189238 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

项目使用Build And Analyze分析常见提示

阅读更多

1,Incorrect decrement of the reference count of an object that is not owned at this point by the caller

AttrTable = [[AttrTable node] initAttrTable];

 

其中node已经创建并初始化了,不需要再调用initAttrTable。如果要调用initAttrTable需改为

[[[AttrTable alloc] initAttrTable] autorelease]

 

这种问题一般就是变量申请了内存并初始化了,但没有使用此变量,接着将此变量又重新赋值。如下:

NSString *imageString = [[NSString alloc] init];
imageString = @"HResout";

 

2,Value stored to 'isHD' is never read

变量isHD没有使用


3,Potential leak of an object allocated on line 226 and stored into 'smallclassname'

潜在的内存泄露点

NSString *smallclassname = [[NSString alloc] initWithString:[NSString stringWithFormat: @"%d",m_NpcClass]];

 

创建变量的时候尽量使用静态创建,因为静态方法都添加了anturelease,若使用alloc,init时后面最好加上autorelease


4,Pass-by-value argument in function call is undefined

CGFloat x,y;
CGFloat w,h;

w = [backSprite boundingBox].size.width;
h = [backSprite boundingBox].size.height;

myRect = CGRectMake(x, y,w ,h );

 


使用方法CGRectMake时,变量要初始化。代码里的x,y没有赋值。


5,Receiver in message expression is a garbage value

UIColor* tempCol;

if (level==4) {
    tempCol= [[UIColor alloc] initWithRed:0.39f green:0.82f blue:0.32f alpha:1.0f];
}else if (level==5) {
    tempCol= [[UIColor alloc] initWithRed:0.61f green:0.68f blue:0.83f alpha:1.0f];
}else if (level==6) {
    tempCol= [[UIColor alloc] initWithRed:0.90f green:0.68f blue:0.99f alpha:1.0f];
}else if (level==7) {
    tempCol= [[UIColor alloc] initWithRed:0.68f green:0.97f blue:0.99f alpha:1.0f];
}

return [tempCol autorelease];

 
被赋值的是个要回收的变量


6,Assigned value is garbage or undefined

Icon *leftTemp,*centerTemp,*rightTemp;
if(isHD)
{
    leftTemp = cell;
}
iconLeft = leftTemp;
iconCenter = centerTemp;
iconRight = rightTemp;

 

变量没有初始化就赋值给其他变量时会出现这个提示。即使有条件语句也会有提示。


遇到的就这么多,继续ing。。。

 

0
1
分享到:
评论
1 楼 androidzjb 2011-11-14  
非常有用,谢谢了。

相关推荐

Global site tag (gtag.js) - Google Analytics