tit*_*coy 7 reference-counting objective-c clang-static-analyzer ios
Xcode 4静态分析器将此方法标记为具有过度释放的返回值,而在这种情况下似乎并非如此.
- (id)copyWithZone:(NSZone *)zone
{
return [[[self class] allocWithZone:zone] initWithURL:self.url postString:self.postString];
}
Run Code Online (Sandbox Code Playgroud)
有一个箭头从return关键字指向它后面的表达式,另一个从该表达式指向分析器警告.这是静态分析:
静态分析仪是否不正确或此代码有问题?
根据要求,-initWithURL:postString:方法:
- (id)initWithURL:(NSURL *)u postString:(NSString *)p
{
if ( (self = [super init]) )
{
self.url = u;
self.postString = p;
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
即使在清理和重建项目后,我仍然会收到此警告.
更新:升级到Xcode 4.2后,Xcode静态分析器不再将此标记为问题.
| 归档时间: |
|
| 查看次数: |
660 次 |
| 最近记录: |