【发布时间】:2013-09-19 18:57:53
【问题描述】:
我有以下代码(在非 ARC 项目中):
- (void)loadWithCompleteBlock:(void (^)(void))complete
{
...
complete = [complete copy];
...
[[NSOperationQueue mainQueue] addObserver:self forKeyPath:@"operationCount" options:0 context:complete];
}
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *) context
{
void (^complete)(void) = context;
[self performSelectorInBackground:@selector(loadFilesWithCompleteBlock:) withObject:complete];
[complete release];
}
静态分析器给出警告Potential leak of an object stored into 'complete'
我厌倦了将NS_RELEASES_ARGUMENT 或CF_RELEASES_ARGUMENT 添加到context 参数,但没有任何效果。
有什么想法吗?
【问题讨论】:
标签: ios objective-c clang key-value-observing clang-static-analyzer