утечка памяти ios - PullRequest
       15

утечка памяти ios

0 голосов
/ 19 октября 2011

У меня есть метод, который устанавливает NSXMLParser с правильными данными, которые, я уверен, вызывает утечку памяти.

Это мой первый раз, когда я использую инстансы, чтобы попытаться устранить утечку памяти и довести ее до оскорбительного метода.

, взглянув на значение вызывающего ответа при тестировании утечки памяти приборов.

Я надеюсь, что вы подскажете мне, где здесь утечка памяти ... потому что я освобождаю myDataArray и parser ... я просто не уверен, где я ошибаюсь ... мне тоже нужно назначить их nil?

- (void)startTheParsingProcess:(NSData *)parserData
{
    [myDataArray release]; // clears array for next time it is used.
    myDataArray = [[NSMutableArray alloc] init];

    NSXMLParser *parser = [[NSXMLParser alloc] initWithData:parserData]; //parserData passed to NSXMLParser delegate which starts the parsing process 

    [parser setDelegate:self];
    [parser parse]; // starts the event-driven parsing operation.
    [parser release];
}

любая помощь будет оценена.

UPDATE:

Я внес изменения в свое приложение, и при запуске его на симуляторе я не получаю ошибок утечки памяти ..

однако, если я запускаю его на своем телефоне, получаю это в консоли ...

2011-10-19 11:22:05.673 code[1299:707] -[__NSCFType section]: unrecognized selector sent to instance 0x1b9b80
2011-10-19 11:22:05.683 code[1299:707] CoreAnimation: ignoring exception: -[__NSCFType section]: unrecognized selector sent to instance 0x1b9b80
2011-10-19 11:22:07.949 code[1299:707] -[__NSCFType row]: unrecognized selector sent to instance 0x1b9b80
2011-10-19 11:22:07.951 code[1299:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType row]: unrecognized selector sent to instance 0x1b9b80'
*** First throw call stack:
(0x35e9e8b3 0x366e61e5 0x35ea1acb 0x35ea0939 0x35dfb680 0x334a76cf 0x3353c713 0x30fd5 0x3352cd69 0x335a60ab 0x35cc32ab 0x35e72a57 0x35e726bd 0x35e71293 0x35df44e5 0x35df43ad 0x30fa4fed 0x334a7dc7 0x272f 0x26d8)

1 Ответ

2 голосов
/ 19 октября 2011

Попробуйте поместить это в .h

@property (nonatomic, retain) NSMutableArray *myDataArray

.m

@synthesize myDataArray

in the method...

- (void)startTheParsingProcess:(NSData *)parserData
{
    self.myDataArray = [NSMutableArray arrayWithCapacity:8];

    NSXMLParser *parser = [[NSXMLParser alloc] initWithData:parserData]; //parserData passed to NSXMLParser delegate which starts the parsing process 

    [parser setDelegate:self];
    [parser parse]; // starts the event-driven parsing operation.
    [parser release];
}
...