iOS 4では、MKPlacemark
はNSCoding
に準拠していません。iOS 4とiOS 5のMKPlacemarkとNSCoder
iOS 5では、MKPlacemark
はNSCoding
に準拠し、CLPlacemark
に準拠しています。
-initWithCoordinate:addressDictionary:
を自分のキー/値(アドレス帳の外)で使用してもらえないか分かりませんが、本当に興味があるのはNSCoding
です。
特に、私がMKPlacemark
をサブクラス化したとしましょう。 NSCoding
をサポートしたい場合は、それが準拠している限り、スーパークラスに呼び出すことを望みます。
興味深いことに、-conformsToProtocol:
は、iOS 5のYES
を返します。と iOS 4!
iOS 4では、スーパークラスが-encodeWithCoder:
(私はプロトコルをチェックすることを好むが、whatevs)に応答するかどうかをチェックしても問題ありません。 "ああ、私はそのセレクタに順応して応答すると言ったのですか?ああ、そうです。" (Ka-blammo。)
ここでOSのバージョンをチェックしたくないのですが、もし私がどちらの場合でもYES
を返そうとしたら...(シャダー)。