私のアプリケーションではTHCalendarInfo
クラスを使用しています。このクラスではメモリリークが発生しましたが、実際にはこのラインのリークが表示されますCFCalendarCopyCurrent(),
。実際にはdealloc
メソッドで解放されていますが、メモリリークが表示されます。私はサンプルコードを送信します。これらの漏れをどのように解放するのですか?
+ (int) currentDayOfWeek
{
return CFCalendarGetOrdinalityOfUnit (
CFCalendarCopyCurrent(),
kCFCalendarUnitDay,
kCFCalendarUnitWeek,
[self currentAbsoluteTime]
);
}
- (id) init
{
[super init];
_absoluteTime = CFAbsoluteTimeGetCurrent();
_calendar = CFCalendarCopyCurrent();
_timeZone = CFCalendarCopyTimeZone(_calendar);
_dayNames = nil;
_monthNames = nil;
[self setupEnglishNames];
return self;
}
- (void) dealloc
{
if (_calendar) CFRelease(_calendar);
if (_timeZone) CFRelease(_timeZone);
[_dayNames release];
[_monthNames release];
[super dealloc];
}
どちらのCFCalendarCopyCurrent()にも2つありますが、クラスメソッドのものはおそらく解放されていないので、おそらく候補です。 – jrturton
私はこのリンクに従うクラスhttp://pastebin.com/XiYkKfC2 –