Xcode的静态分析(Analyze)的常见错误整理

    大家可能有跟我一个类似的经历,写完了工程代码后或者刚入职接到了”前辈“的代码后,想看下这个工程里到底有没有内存泄露,就会不约而同了用起了Xcode的工具,Analyze,Leak分析一下。接下来会发现我用了静态分析后,给出了很多提示但是不知道如何解决,这篇专门为这些常见的提示信息给出一些分析。闲话不多说了==>进入正题:

问题一:

1.converting a pointer value of type 'NSNumber *' to a primitive boolean value;instead,either compare the pointer to nil or call -boolValue

解答:

很明显给出的提示是说NSNumber直接拿来布尔值来判断,可以将他转化后进行判断:

问题二:

2.nil passed to a Callee that requires a non-null 1st parameter


Xcode的静态分析(Analyze)的常见错误整理_第1张图片

解答:

会有一个警告: nil passed to a callee that requires a non-null argument,意思是testpath形参不能传nil。

根据上下意思,[LKDBUtils checkStringIsEmpty:]如果没值也是传出空字符串处理,改成如下即可:

Xcode的静态分析(Analyze)的常见错误整理_第2张图片

问题三

3.value stored to 'bikeLat' is never read

Xcode的静态分析(Analyze)的常见错误整理_第3张图片

解答:

提示比较清楚,该变量重来就被用过。删除掉就是了。


问题四

4.Value stored to 'numBikeStr' during its initialization is never read


解答:

初始化后没有用到,如果没用就不要声明 即可,或者没用到直接删除


问题五

5.Property of mutable type 'NSMutableURLRequest' has 'copy' attribute; an immutable object will be stored instead

解答:

问题是说可变类型不应该是copy去修饰,代替方案用strong修饰词


问题六

6.Returning 'self' while it is not set to the result of '[(super or self) init....]'


解答:

写错了self==[super init] 改成 self = [super init]即可

你可能感兴趣的:(Xcode的静态分析(Analyze)的常见错误整理)