Опитвам се да разбера защо при създаването на UIButton в интерфейсния конструктор - изтичане на паметта става, когато се изпълнява приложението на инструментите с xcode.
Така създадох изтичането на паметта.
Отворих ново приложение, отворих файла myAppViewController.xib в интерфейсния конструктор. Промених фона на черно. Добавен UIButton, преименуван на "foo" заглавие. запаметени и след това изход.
В myAppViewController.h файла имам следното
#import <UIKit/UIKit.h>
@interface miPlanNewViewController : UIViewController {
IBOutlet UIButton *tasksProjects;
}
@property(nonatomic, retain) IBOutlet UIButton *tasksProjects;
@end
в файла myAppViewController.m имам следното:
#import "miPlanNewViewController.h"
@implementation miPlanNewViewController
@synthesize tasksProjects;
...
//the normal methods you get
...
- (void)dealloc {
[super dealloc];
}
@end
Ето снимка на екрана на това, което получавам в момента в инструментите.
Едно нещо обаче забелязвам ....
Не съм свързал изхода към uibuttonвсе още в интерфейс строител, но когато изтрия UIButton от интерфейс строител, освен, и след това стартирайте програмата с инструменти отново, аз не получавам никакви течове на всички.
Може ли някой да обясни какво се случва и как мога да разреша този проблем. Благодаря ти.
Отговори:
2 за отговор № 1- Първо, вие не освобождавате имота. в dealloc трябва да имате
[tasksProjects release];
и в viewDidUnload трябва да иматеself.taskProjects = nil;
- На второ място, като lxt metioned не трябва да се използва симулатор за проверка на изтичане на памет.
- На трето място, проверете дали сте изградили съобщение, но не отстранявате грешки.