Мы обнаружили большую проблему с памятью в нашем приложении.Мы создали подкласс UITextField и добавили их ко всем основным видам.Основные представления отменяются правильно, однако метод dealloc в нашем подклассе никогда не получает удар.Вот наш подкласс:
Заголовок:
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "MyEntities.h"
#import "MyControlHelper.h"
@interface MyTextField : UITextField {
MyControlHelper *myHelper;
UIView *disabledEffect;
}
@property (nonatomic, retain) MyControlHelper *myHelper;
@property (nonatomic, retain) UIView *disabledEffect;
@end
Реализация:
#import "MyTextField.h"
@implementation MyTextField
@synthesize myHelper;
@synthesize disabledEffect;
-(id) initWithCoder:(NSCoder *)aDecoder{
if (self = [super initWithCoder:aDecoder]){
myHelper = [[MyControlHelper alloc] init];
[myHelper setBoundTextField:self];
[myHelper SetupKeyboardListener];
[self setReturnKeyType:UIReturnKeyDone];
self.autocorrectionType = FALSE;
self.delegate = myHelper;
}
return self;
}
-(id) init{
if (self = [super init]){
myHelper = [[MyControlHelper alloc] init];
[myHelper setBoundTextField:self];
[myHelper SetupKeyboardListener];
[self setReturnKeyType:UIReturnKeyDone];
self.autocorrectionType = FALSE;
self.delegate = myHelper;
}
return self;
}
-(id)initWithFrame:(CGRect)frame{
if (self = [super initWithFrame:frame]){
myHelper = [[MyControlHelper alloc] init];
[myHelper setBoundTextField:self];
[myHelper SetupKeyboardListener];
[self setReturnKeyType:UIReturnKeyDone];
self.autocorrectionType = FALSE;
self.delegate = myHelper;
}
return self;
}
-(void)dealloc{
self.myHelper = nil;
self.disabledEffect= nil;
[super dealloc];
}
@end
Любая помощь будет принята с благодарностью.
Приветствия.