我应该如何释放一个嵌入的 Core Foundation 对象?

Posted

技术标签:

【中文标题】我应该如何释放一个嵌入的 Core Foundation 对象?【英文标题】:How am I supposed to release an imbedded Core Foundation object? 【发布时间】:2013-06-10 20:48:36 【问题描述】:

这是代码:

- (void) drawToday  

int x;
int y;
int day;
CFGregorianDate today = CFAbsoluteTimeGetGregorianDate(currentTime, CFTimeZoneCopyDefault());

if(today.month == currentMonthDate.month && today.year==currentMonthDate.year)  
    int swidth = self.frame.size.width / 7;
    int weekday=[self getMonthWeekday:currentMonthDate];
    day = today.day + weekday - 2;
    x = day % 7;
    y = day / 7;

它抱怨这个:CFTimeZoneCopyDefault()

调用函数 'CFTimeZoneCopyDefault' 返回一个核心基础对象,保留计数为 +1 并且 对象泄露:在此执行的稍后部分未引用分配的对象路径并且保留计数为 +1

我应该如何解决这个问题(即释放嵌入的对象)?

【问题讨论】:

【参考方案1】:

一般:

CFTimeZoneRef tzref = CFTimeZoneCopySystem();
CFGregorianDate today = CFAbsoluteTimeGetGregorianDate(currentTime, tzref);
CFRelease( tzref);

【讨论】:

有时只是那些日子之一:-)

以上是关于我应该如何释放一个嵌入的 Core Foundation 对象?的主要内容,如果未能解决你的问题,请参考以下文章

C++ 中的嵌入式 python:importerror importing numpy.core.multiarray

嵌入式linux,dma_alloc_coherent再释放再申请多次偶会出现页分配失败,有啥办

我应该如何在 qt 中释放信号槽?

我应该如何释放类型映射中为 argout 结构数组分配的内存?

Asp.Net Core 无法访问已释放的上下文实例

在嵌入式应用程序中释放内存无助于减少虚拟存储