Objective c XCode/静态分析器:抑制保留计数/泄漏警告
我有一个函数,它正在创建一个变量,但没有释放它。它将这个对象连同一条消息传递给另一个处理内存管理的函数Objective c XCode/静态分析器:抑制保留计数/泄漏警告,objective-c,xcode,clang-static-analyzer,Objective C,Xcode,Clang Static Analyzer,我有一个函数,它正在创建一个变量,但没有释放它。它将这个对象连同一条消息传递给另一个处理内存管理的函数 我的问题是如何抑制静态分析器警告,因为XCode认为它是一个过度保留的变量?我想我可以为创建它的函数使用NS_RETURNS_RETAINED,但这不起作用。我想知道这是否与变量通过消息传递的事实有关?我不建议取消警告,因为它们存在是有充分理由的。编码良好的应用程序有大量的测试,几乎没有内存泄漏 但是,您可以通过转到Xcode检查器并在搜索框中键入“memory”来禁用Xcode 4中的警告。
我的问题是如何抑制静态分析器警告,因为XCode认为它是一个过度保留的变量?我想我可以为创建它的函数使用NS_RETURNS_RETAINED,但这不起作用。我想知道这是否与变量通过消息传递的事实有关?我不建议取消警告,因为它们存在是有充分理由的。编码良好的应用程序有大量的测试,几乎没有内存泄漏
但是,您可以通过转到Xcode检查器并在搜索框中键入“memory”来禁用Xcode 4中的警告。将有一列包含相关选项。在右侧,您可以选择一个选项。您可以通过执行以下操作来抑制内存警告:
你能提供更多有关函数的详细信息吗,也许是一些(伪)代码?@Yuji考虑一个C内存数据库,它使用
void*
内存指针。我想在那里存储一个CFDictionaryRef
,但为了确保它保持活动状态,我必须调用CFRetain
,analyzer抱怨这是一个泄漏,但事实并非如此,我仍然可以随时获取对dict的引用,当它从内存数据库中删除时,我也会对它执行CFRelease
。