Я пытаюсь добавить метку на карту. Метка составлена из адреса, полностью находящегося за пределами адресной книги.
Моя метка появляется на карте, но когда я пытаюсь ущипнуть, чтобы увеличить изображение, я получаю сбой:
*** -[CALayer objectForKey:]: unrecognized selector sent to instance 0x4569dc0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[CALayer objectForKey:]: unrecognized selector sent to instance 0x4569dc0'
Вот как я настраиваю адрес:
id theAddress = [NSDictionary dictionaryWithObjectsAndKeys:
[NSString stringWithFormat: @"%@ - %@", theAddress1 ? theAddress1 : @"", theAddress2 ? theAddress2 : @""], kABPersonAddressStreetKey,
theCity ? theCity : @"", kABPersonAddressCityKey,
theState ? theState : @"", kABPersonAddressStateKey,
theZip ? theZip : @"", kABPersonAddressZIPKey,
theCountry ? theCountry : @"", kABPersonAddressCountryKey,
nil];
Я использую значения в адресной записи, чтобы найти координату для адреса (узнал, как это сделать из этого вопроса и ответа ), затем добавляю ее на свою карту:
[mapView addAnnotation: [[[MKPlacemark alloc] initWithCoordinate: theCoordinate
addressDictionary: theAddress] autorelease]];
Сбой MKPlacemark определенно вызван сбоем, как будто я закомментирую оператор addAnnotation, код не вылетает.
Есть идеи, что происходит? Я предполагаю, что мне не хватает в адресной записи, но сообщение об ошибке действительно бесполезно.