を警告は、私は次の警告を取得しています日付にNSDateを変換しようとしてき
から強制キャスト「NSDate?」 「日付」はアンラップとブリッジのみです。あなたは を使用しましたか? 'として'と?
pickDate
がUIDatePicker
あるpickDate.date = item?.date as! Date
:次のコード行に
。コードが機能し、推奨されている修正プログラムに従おうとすると、他の警告やエラーも発生します。
提案がありますか?
を警告は、私は次の警告を取得しています日付にNSDateを変換しようとしてき
から強制キャスト「NSDate?」 「日付」はアンラップとブリッジのみです。あなたは を使用しましたか? 'として'と?
pickDate
がUIDatePicker
あるpickDate.date = item?.date as! Date
:次のコード行に
。コードが機能し、推奨されている修正プログラムに従おうとすると、他の警告やエラーも発生します。
提案がありますか?
if let model = item, item?.date != nil{
pickDate.date = model.date
}
項目は、(より良いエンティティの定義が含まれる)エンティティが十分な情報を提供していませんが、メッセージに従って、item?.data
はタイプNSDate?
(別名Optional<NSData>
)です。 (NSDate
とDate
の間で変換するときにあなたが通常as!
またはas?
を使用しないでください。)
if let theDate = item?.date as Date? {
pickDate.date = theDate
} else {
//Generally, silently ignoring unexpected value would be a bad habit.
print("`item?.date` is nil")
}
は多分
item
ゼロ:あなたはas
-castingだけでなく、Date?
にNSDate?
でDate
にNSDate
を変換することができます。 item?.data
はおそらくゼロです。 この試す:スウィフト3.xの(Xcodeの8.3.3)を使用して
pickDate.date = item!.date as! Date
または
pickDate.date = (item?.date)! as Date
を私は警告を取り除くことができました:
pickDate.date = item.date! as Date
しかし、この"item"はもはやオプションではないことを前提としています。
「アイテム」とは何ですか? – vadian
アイテムはエンティティ – RTB
これらの提案は機能しませんでした。同じ問題です。私は1970年からmsの数を取得し、新しい日付を作成することで問題を回避することができますが、より直接的なアプローチが必要であると感じています。 – RTB