В iOS 4 MKPlacemark
не соответствует NSCoding
.
В iOS 5 MKPlacemark
соответствует NSCoding
в виде CLPlacemark
.
Я не уверен, что смогу использовать -initWithCoordinate:addressDictionary:
с моими собственными ключами / значениями (вне адресной книги) и справиться с этим, но мне действительно интересно, NSCoding
.
В частности, скажем, я подкласс MKPlacemark
. Если я хочу поддержать NSCoding
, я бы хотел вызвать суперкласс, если он соответствует.
Что интересно, -conformsToProtocol:
возвращает YES
на iOS 5 и iOS 4!
На iOS 4, даже если я проверяю, отвечает ли суперкласс на -encodeWithCoder:
(я предпочитаю проверять протокол, но все равно), неважно. «О, я сказал, что мы подчиняемся и отвечаем этому селектору? О! Да. Нет.» (Ка-blammo.)
Я бы предпочел не проверять версии ОС здесь, но, если я собираюсь вернуться YES
в обоих случаях ... (вздрагивает).