Domanda

Voglio essere in grado di convertire tra i calendari gregoriano e giuliano (nota: non "data julian") utilizzando NSCalendar su iPhone. Come posso sottoclasse NSCalendar di utilizzare il calendario giuliano? Voglio fare questo senza riguardi per 1582 o 1752 o un dato anno.

È stato utile?

Soluzione

Mentre si può certamente avere un andare a esso, ma ho il sospetto che NSCalendar è difficile da sottoclasse. E 'a ponte numero verde, che complica le cose; è intrecciato con NSLocale, che complica le cose; è inizializzato con identificatori piuttosto che essere sottoclasse, che complica le cose; e non dà indicazioni su quali metodi sono i suoi primitivi che complica le cose ... ...

Avete bisogno la sottoclasse, al fine di collegare in un'architettura esistente? In caso contrario, probabilmente sarebbe più semplice per creare un oggetto da zero che ha un'interfaccia simile. Si può essere in grado di utilizzare un NSGregorianCalendar per fare la maggior parte del lavoro per voi e solo compensato la data per i giorni necessari prima di calcolare i componenti di data. Avrete bisogno di logica speciale per 1700, 1800 e 1900 (e, naturalmente, 2100, etc.) in quanto NSGregorianCalendar non vi permetterà di creare componenti della data per un giorno salto di quegli anni, ma questo è ancora probabilmente più facile che fare tutta la componente data calcoli a mano.

Solo curioso quale sarebbe l'obiettivo di un tale calendario?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top