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