Только что зделал открытите - iOS ревностно бережет утечки памяти. Дело было так - нужно было разпарсить строку формата NSString, так как ни один из стопицот джобсовых фраймверков не подошол (задачка-нестандарт) я решил написать парсер сам. Писал на С++, через Обж-С++ написал обертку чтоб встроить парсер в проэкт. Тут трабл - NSString класс ОбжСи - в С++ никак не проманипулируеш. Конвертнул в char* - разпарсил. Перед коммитом вспомнил что в деструкторах класса-парсера не всю динамическую память вычистил, ну ладно, начал проверять где памать выделяется - тут обана, при конверсии из NSString->char*, массив char, c которым я через указатель работаю, создается динамиски методом класса NSString (в обжСи). Пытаюсь очистить деструкторах С++ deletе-oм - рабочая копия крашится, пытаюсь в Обж-С загнать в указатели в массив и поле парсинга всех их передать в free(*void) - снова краш. Проверяю - приложение кудато двигает содержимое указателей по участках памяти (к указателям где-то обращаются функции типа realloc/memcpy и тд если там пустая памать - краш). Проверяю - утечка налицо, а если фиксить - выхватываю краш.
А какой ответ ожидался, то? Флуд на тему "какие нехорошие люди ios делали" или указание на варианты решения проблемы? Если второе, то есть мнение, что: 1. Тут не так много знатоков obj-c 2. Без сорца толком не посоветовать ничего 3. Всем пофиг
Kaimi Мне и без вас есть куда пойти со своими проблемами - просто сей факт мне показался забавным и интересным, может и другим будет интересно