[英]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.