Яблоки NSDataDetector
могут обнаруживать различные вещи, такие как адреса, даты и URL-адреса как NSTextCheckingResults
.Для адресов он записывает информацию в словарь с большим количеством ключей, представляющих такие элементы адреса, как адрес, город, штат и почтовый индекс. Вот различные ключи.
Моя проблема в том, что я слабо использую словари и не могу понять синтаксис для преобразования словаря обратно в обычную строку.Мне нужна строка, чтобы я мог передать ее в запросе карт на естественном языке.
Может кто-нибудь предложить синтаксис для преобразования словаря в строку.
Вот код, который я использую дляопределить словарь.
NSDictionary* addrDict= nil;
NSString *addr = nil;
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:(NSTextCheckingTypes)NSTextCheckingTypeAddress error:&error];
NSArray *matches = [detector matchesInString:string
options:0
range:NSMakeRange(0, [string length])];
NSLocale* currentLoc = [NSLocale currentLocale];
for (NSTextCheckingResult *match in matches) {
if ([match resultType] == NSTextCheckingTypeAddress) {
addrDict = [match addressComponents];
//How do I convert this dictionary back into a string that says something like
Starbucks 123 Main Street Mountain View CA 94103
}
}