繁体   English   中英

Memory typedef 结构泄漏

[英]Memory Leaks for typedef struct

我正在尝试删除 memory 泄漏。 下面是我的代码。

currentTime = CFAbsoluteTimeGetCurrent();

CFTimeZoneRef currentTimeZone = CFTimeZoneCopyDefault();

todaysDate = CFAbsoluteTimeGetGregorianDate(currentTime, currentTimeZone);


[currentTimeZone release];
currentTimeZone = nil;

警告:::/myclass.m:87: 警告:无效的接收器类型 'CFTimeZoneRef'

如何为 typedef const struct 释放 memory?

使用CFxxxCopyxxx你应该使用CFRelease

CFRelease(currentTimeZone);

编辑:

有一些CoreFoundation类是免费桥接的,您的原始声明没有泄漏,只是需要一个演员表。 我仍然建议使用CFRelease ,因为您直接使用 CoreFoundation。

[(NSTimeZone*)currentTimeZone release];

从文档:

如果您拥有 object,您有责任在完成后放弃所有权(使用 CFRelease)。

您正在使用 CoreFoundation 调用,因此您不需要使用 Cocoa 的release ,而是要调用:

CFRelease( currentTimeZone);

为了释放复制的数据。

尝试释放地址簿毕竟人

CFRelease(所有人); CFRelease(地址簿);

这对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM