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
を使用することです。
私は、ファイルへの私のモデルを保存し、再びそれをロードする必要があるように、この質問への答えは、これを行うために私を可能にします。
明白なフォールバックは、DateComponents
をDate
に変換して保存することです。しかし、Appleが誕生日のためにDate
を非難した理由があるに違いありません。
コンポーネントと文字列の関係と文字列形式を詳しく教えてください。 – vadian
私は文字列フォーマットについてはあまり気にしません。何かが動作します。デバッグのために開発者が読むことができたらうれしいです。 –