2016-06-18 5 views
0

DateComponentsを変換する(エレガントまたは好ましい)方法はある文字列からDateComponents/NSDateComponentsを作成し、その逆

DateComponents -> String -> DateComponents 

がなかれ可能であり、得られたオブジェクトが元に等しくなるようにバック文字列をオブジェクトとオブジェクト? (同一でない)NSDate/Dateについて

CustomStringRepresentableように)前後に変換し、このトリックを行うことができるNSDateFormatter/DateFormatterあります。

DateComponentsの場合、DateComponentsFormatterがありますが、StringからDateComponentsへの方向をサポートしていないようです。 iOS搭載9.xのまでNSDateとして誕生日を格納するために使用されるこの質問

HealthKitため

動機

は、iOS 10以降では、HealthKitは誕生日のためのモデルとしてDateComponentsを使用しています。 (誕生日にはNSDate

私はHealthKit中心のアプリケーションの自分のデータモデルでHealthKitsモデルの変更を反映しようとしています。最も簡単なのは、私のモデルでHealthKitと同じようにDateComponentsを使用することです。

私は、ファイルへの私のモデルを保存し、再びそれをロードする必要があるように、この質問への答えは、これを行うために私を可能にします。

明白なフォールバックは、DateComponentsDateに変換して保存することです。しかし、Appleが誕生日のためにDateを非難した理由があるに違いありません。

+0

コンポーネントと文字列の関係と文字列形式を詳しく教えてください。 – vadian

+0

私は文字列フォーマットについてはあまり気にしません。何かが動作します。デバッグのために開発者が読むことができたらうれしいです。 –

答えて

1

NSDateComponentsNS(Secure)Codingに準拠しているため、NSKeyedArchiverで直接日付コンポーネントを保存するだけです。

+0

この回答に感謝します。私は自分の質問に動機付けを加えました。なぜなら、日付計算が問題ではないことを示すあなたの答えのためです。 Appleが私に与えるデータの文字列表現を見つけることです。 –

+0

申し訳ありませんが、何時間前に質問したときに実際の問題について説明していませんでした。 – vadian

+0

私は、DateComponentsをどのようにStringとして、そしてそのStringをDateComponentsに代入するかを尋ねました。私はこれが "それをしないでください"という答えを引き起こすだろうということを知らなかった。ごめんなさい。 –

関連する問題