Мое приложение пронизано утечками памяти, касающимися объектов NSString. Никогда, никогда я не использую alloc для создания объекта NSString, но в соответствии с Инструментами (используемыми с реальным устройством) приложение пропускает объекты NSString.
Это происходит вокруг использования stringByAppendingString. Пример кода:
NSString *documentsPathPlusSlash = [self.documentsPath stringByAppendingString:@"/"];
NSString *documentsPathPlusSlashAndFileName = [documentsPathPlusSlash stringByAppendingString:fileName];
mainMenuViewController.documentsPath = documentsPathPlusSlashAndFileName;
Когда-то это было одно длинное утверждение, поэтому я подумал, что, возможно, разделение его на отдельные строки решит проблему. Не повезло, код выше пропускает объекты NSString. Это почему?
MainMenuViewController.dealloc не выпускает documentsPath, потому что это не обязательно. Либо это? Документация Apple и различные форумы не очень помогают.