我正在尝试消除内存泄漏。下面是我的代码。

currentTime = CFAbsoluteTimeGetCurrent();

CFTimeZoneRef currentTimeZone = CFTimeZoneCopyDefault();

todaysDate = CFAbsoluteTimeGetGregorianDate(currentTime, currentTimeZone);


[currentTimeZone release];
currentTimeZone = nil;

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

如何为typedef const struct释放内存?

最佳答案

使用 CFxxxCopyxxx 您应该使用 CFRelease

CFRelease(currentTimeZone);

编辑:

CoreFoundation 类是 Toll-Free bridged 并且您的原始语句没有泄漏,只是需要一个类型转换。我仍然建议使用 CFRelease,因为您直接使用 CoreFoundation。
[(NSTimeZone*)currentTimeZone release];

关于iphone - typedef 结构的内存泄漏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6679815/

10-09 16:23