Утечка памяти 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).

  • Понимание профилей и сертификатов Provisioning в iOS
  • Новый IOS5 UISwitch не выглядит отключенным в UITableViewCell
  • Преобразование адреса в долготу и широту
  • Как долго до тех пор, пока в обзоре после «Отказаны метаданные»?
  • Как найти вызовы в экземплярах UIKit из вторичного потока?
  • Core Data uniquing не работает?
  • Ответьте, ответьте и любите в iOS 5 Twitter с картой учетных записей
  • UITableView: пользовательский заголовок заголовка не показывает
  • табличный вид в popover не прокручивается
  • Идентичный код генерирует ошибку в одном проекте, но не
  • Как публиковать сообщения на twitter, скрывая SLComposeViewController * tweetSheettweet instance
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.