質問

私はグレゴリオ暦とユリウス暦の間で変換することができるようにしたい(注:ない「ユリウス日」)iPhone上NSCalendarを使用します。どのように私はユリウス暦を使用するNSCalendarをサブクラス化することができますか?私は、1582年または1752または任意の年のためによろしくせずにこれを行うにはしたくます。

役に立ちましたか?

解決

あなたは確かにそれをやってみることができますが、私はNSCalendarはサブクラスにトリッキーであると思われるものの。それは、物事を複雑にフリーダイヤルのブリッジ、です。物事を複雑にNSLocale、と絡めています。それはむしろ、物事を複雑にする、サブクラス化されているよりも識別子で初期化されます。そして...

...物事を複雑にする方法は、そのプリミティブである上何の指針を与えていません

あなたは、既存のアーキテクチャにプラグインするために、サブクラスを必要ですか?そうでない場合、それはおそらく同様のインタフェースを持って最初からオブジェクトを作成するのが最も簡単でしょう。あなたはあなたのための仕事のほとんどを行うためにNSGregorianCalendarを使用して、ちょうど日付コンポーネントを計算する前に必要な日数日付を相殺することができるかもしれません。あなたは1700年、1800年および1900のための特別なロジックが必要になります(もちろん2100などの)NSGregorianCalendarはさせませんので、あなたはそれらの年でうるう日の日付コンポーネントを作成しますが、それはおそらくまだすべての日付コンポーネントを行うよりも簡単です手で計算ます。

興味があるだけなカレンダーの目標はどのようになるか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top