Утечка памяти NSLinguisticTagger

Я играл в Xcode 4.2 с новым NSLinguisticTagger от iOS 5.0. Моя цель с этой функцией – взять запись в адресной книге, а затем выплюнуть составное имя как NSString, похожее на то, что делает ABRecordCopyCompositeName, но с учетом порядка именования для восточноазиатских языков и венгерского (последнее первое, а не первое ). Вот функция:

NSString *text = [self getLocalizedFullNameOfRecord:[contacts objectAtIndex:indexPath.section]; - (NSString *) getLocalizedFullNameOfRecord:(ABRecordRef) person { NSString *firstName = ABRecordCopyValue(person, kABPersonFirstNameProperty); NSString *middleName = ABRecordCopyValue(person, kABPersonMiddleNameProperty); NSString *lastName = ABRecordCopyValue(person, kABPersonLastNameProperty); NSString *prefix = ABRecordCopyValue(person, kABPersonPrefixProperty); NSString *suffix = ABRecordCopyValue(person, kABPersonSuffixProperty); NSString *fullName = @""; __block BOOL Asian; // Apologies to all Hungarians who aren't actually Asian __block NSArray *asianLanguages = [NSArray arrayWithObjects:@"zh-Hant", @"zh-Hans", @"ja", @"ko", @"hu", @"vi", nil]; [firstName enumerateLinguisticTagsInRange:NSMakeRange(0, firstName.length) scheme: NSLinguisticTagSchemeLanguage options: NSLinguisticTaggerOmitWhitespace orthography: nil usingBlock:^(NSString *tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop){ if ([asianLanguages containsObject:tag]) Asian = YES; else Asian = NO; }]; if(prefix) fullName = [fullName stringByAppendingFormat:@"%@ ", prefix]; if(Asian && lastName) fullName = [fullName stringByAppendingFormat:@"%@ ", lastName]; else if(firstName) fullName = [fullName stringByAppendingFormat:@"%@ ", firstName]; if(middleName) fullName = [fullName stringByAppendingFormat:@"%@ ", middleName]; if(Asian && firstName) fullName = [fullName stringByAppendingFormat:@"%@ ", firstName]; else if(lastName) fullName = [fullName stringByAppendingFormat:@"%@ ", lastName]; if(suffix) fullName = [fullName stringByAppendingFormat:@"%@", suffix]; [firstName release]; [middleName release]; [lastName release]; [prefix release]; [suffix release]; return fullName; } 

Инструменты говорят мне, что я утечка от 16 до 32 байт с каждой итерацией этой функции, на enumerateLinguisticTagger (а не на части блоков, по-видимому). Поскольку онлайн-ресурсы для NSLinguisticTagger ограничены ссылкой на класс и одним учебным пособием, я понятия не имею, где и как начать поиск утечки.

Помоги пожалуйста?

One Solution collect form web for “Утечка памяти NSLinguisticTagger”

У меня такая же проблема. В моем случае возникли утечки, когда строка имеет разрывы строк (\ n или \ r).

  • скрыть клавиатуру, перетащив палец, как приложение sms в iOS 5
  • Будет ли IOS завершать работу приложения в фоновом режиме через определенное время?
  • Проблемы UITextField в iOS 5 путем изменения UITextFieldBorderStyle во время выполнения
  • Как узнать, подключено ли устройство iOS через USB или зарядное устройство на стене?
  • Прохождение Kal Calendar
  • Слабая связанная структура, вызывающая ошибку «Файл не найден»
  • Почему resignFirstResponder вызывается дважды в iOS 5.0, но только один раз в iOS4.2-4.3?
  • Как очистить / сбросить все отношения CoreData во взаимосвязи «один ко многим»
  • как просмотреть центр уведомлений на симуляторе iOS?
  • Почему строка не равна тому, что хранится?
  • UITableView: выбор ячейки ячейки в смешанной ячейке таблицы статические и динамические ячейки
  • Как настроить UINavigationBar в IOS5
  • Interesting Posts

    раскадровую сцену из таблицы и ее кнопку раскрытия информации

    Установите цвет фона для UINavigationBar

    Сохранение строковых / текстовых данных UITextView

    Почему сценарии фазы сборки не выполняются при создании IPA из командной строки?

    UIDocumentInteractionController перестает работать с iOS 8

    Приложение отклонено из-за рекламного идентификатора (IDFA)

    не отображает сборку в магазине Apple, используя xcode 8

    После обновления до Xcode 6: Неопределенные символы для архитектуры armv7: «___gnu_f2h_ieee»

    AFNetworking – проверить загруженные байты перед возобновлением загрузки файла?

    objc_sync_enter / objc_sync_exit не работает с DISPATCH_QUEUE_PRIORITY_LOW

    Телефонная игра html5 не воспроизводится

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

    Атлас текстуры не может быть найден

    Как отправить запрос POST HTTPS в swift с помощью NSURLSession

    Как изменить размер SKEmitterNode?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.