連絡先の出生データを取得しようとしていますが、ユーザーが年を選択しない場合、または連絡先がFacebookから来て、年またはそれ自体のデータが非表示になるため、年の「1604」値が表示されます。イメージで意味します。
質問する
1181 次
2 に答える
21
おめでとうございます、実装の詳細を発見しました!
まず、Contactsは日付を特定の時点として保存しますが、すべての時点には1年があるため、1年なしで特定の時点を保存することはできません。したがって、名簿が日付の「不明な」年をどのように保存するかについて決定を下す必要がありました。いくつかの理由から、「1604」は良い年になると決定されました。
- 名簿について話しているとき、1604年に生まれた人が名簿に載っている可能性はほとんどありません。
- 1604はうるう年でした(うるう年の計算方法の規則による)。つまり、出生年がわからない人が2月29日に生まれた場合、1604もそれを処理できます。
- 1604年は、ジュリアン-グレゴリオ暦の切り替え前でした。
したがって、名簿から誕生日を引き出す場合は、「年が不明な誕生日」として1604を特殊なケースにする必要があります。
注:私の知る限り、これはグレゴリオ暦を扱う場合にのみサポートされます。他のすべてのカレンダーでは、この動作は定義されていません。
于 2012-12-24T16:12:41.497 に答える
1
viewDidLoad で年を初期化できます。
または、年がユーザーによって選択されていないかどうかを確認し、エラー メッセージを表示します。
于 2012-12-24T16:07:59.070 に答える