Сбой приложения на базе ModalViewController после 30 презентаций - PullRequest
0 голосов
/ 10 октября 2010

У меня есть приложение для ipad, в котором есть категории (контроллеры таблиц внутри него) и подробные представления, в которых есть веб-просмотр, отображает информацию о строке в табличном представлении.

В функции didSelectRowAtIndexPath представлений таблицы категорий я использую код как:

DetayViewController *dvc = [[DetayViewController alloc] init];
Blog *b = (Blog *)[self.blogArray objectAtIndex:indexPath.row];
dvc.cagirilanBlog = b;
[self presentModalViewController:dvc animated:YES];

Это отлично работает. Но при использовании приложения, если вы щелкнете по строке в табличном представлении, откроете страницу сведений и закроете ее примерно 30 раз, приложение завершит работу и закроется.

Предупреждения, которые я получаю при сбое приложения, выглядят так:

**Received memory warning. Level=1**

**Received memory warning. Level=2**

**Program received signal:  “0”.
Data Formatters temporarily unavailable, will re-try after a 'continue'. (Unknown error loading shared library "/Developer/usr/lib/libXcodeDebuggerSupport.dylib")**

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

Пожалуйста, помогите мне.

Спасибо.

1 Ответ

3 голосов
/ 10 октября 2010

Вам необходимо освободить ресурсы, которые вы использовали (каждое распределение памяти должно быть освобождено).

В вашем случае:

[dvc release]

(Если нет, все объекты, которые вы выпустили в методе dealloc, не будут вызваны!)

Вы также можете использовать инструмент производительности Leak, предоставляемый с Xcode. (очень полезно для обнаружения утечек памяти)

Вы должны прочитать этот документ: http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html

...