簡體   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