#iphone #ios #cocoa-touch
#iPhone #iOS #cocoa-touch
Вопрос:
Я собрал пример кода для тестирования функциональности NSLinguisticTagger, но не повезло. Код выглядит следующим образом. Проблема в том, что я никогда не получаю доступ к блочному коду, который является журналом.
NSString *linguisticTaggerTestString = @"My name is Jacob Thomas";
NSLinguisticTagger *lingusticTagger = [[NSLinguisticTagger alloc] initWithTagSchemes:[NSArray arrayWithObject:@"NSLinguisticTagSchemeNameType"] options:NSLinguisticTaggerJoinNames];
[lingusticTagger setString:linguisticTaggerTestString];
NSRange range = NSMakeRange(0, [linguisticTaggerTestString length]);
[lingusticTagger enumerateTagsInRange:range scheme:@"NSLinguisticTagSchemeNameType" options:NSLinguisticTaggerJoinNames usingBlock:^(NSString *tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop)
{
NSLog(@"Tag is %@ and the string is %@",tag, [linguisticTaggerTestString substringWithRange:tokenRange]);
}];
Ответ №1:
Возможно, вы неправильно инициализировали лингвистический теггер. NSLinguisticTagSchemeNameType
является константой, вы не должны передавать ее в виде строки. попробуйте вместо этого следующую строку кода:
NSLinguisticTagger *lingusticTagger = [[NSLinguisticTagger alloc] initWithTagSchemes:[NSArray arrayWithObject:NSLinguisticTagSchemeNameType] options:NSLinguisticTaggerJoinNames];