Выпустить скрытые объекты? - PullRequest
0 голосов
/ 19 января 2012

Я пишу приложение на iOS.У меня есть основной класс и подкласс UIView с некоторыми полями UILabel.

Я хочу освободить память, когда объекты подкласса находятся вне экрана (я скрываю вид по анимации).Как я могу это сделать?

ViewController.h
#import "Histogram.h"
#import "HistogramDelegate.h"

{
UIScrollView *filtersScrollView;
UITapGestureRecognizer *tapGesture;
UISwipeGestureRecognizer *swipeGesture;
...some UILabels and other components.
Histogram *_Histogram;

}

@property (nonatomic, retain) Histogram *_Histogram;
... other properties
... some functions

@end


ViewController.m
-(void)viewDidLoad {
_Histogram = [[Histogram alloc] initWithFrame:...];
}
-(void)viewDidUnload // here i add nil value to objects, for ex. UIScrollView = nil.

-(void)someFunc {
 [_Histogram hideHistogram];
}

Histogram.h
//some objects/fields like UILabels, UISliders, UIViews


Histogram.m
some functions.
-(void)hideHistogram {

}

Как и где я могу освободить _Histogram и его объекты из памяти, когда они находятся вне экрана?Когда я выделяю и инициализирую _Histogram, а когда скрываю _Histogram, мое приложение работает медленнее.

1 Ответ

1 голос
/ 19 января 2012

Вопрос не очень понятен.В любом случае, если вы хотите спросить, как освободить память, когда ваша гистограмма скрыта: то, что вы должны сделать, это после вызова [_histogram _hidden] call [_histogram release]; _histogram=nil; Также в функции dealloc вашего файла histogram.m вы должны освободить всеэлементы, которые вы инициализировали в этом классе.В противном случае освобождение _histogram объекта не очень поможет

...