2017-07-15 5 views
0

を警告は、私は次の警告を取得しています日付にNSDateを変換しようとしてき

から

強制キャスト「NSDate?」 「日付」はアンラップとブリッジのみです。あなたは を使用しましたか? 'として'と? pickDateUIDatePickerある

pickDate.date = item?.date as! Date 

:次のコード行に

。コードが機能し、推奨されている修正プログラムに従おうとすると、他の警告やエラーも発生します。

提案がありますか?

+0

「アイテム」とは何ですか? – vadian

+0

アイテムはエンティティ – RTB

+0

これらの提案は機能しませんでした。同じ問題です。私は1970年からmsの数を取得し、新しい日付を作成することで問題を回避することができますが、より直接的なアプローチが必要であると感じています。 – RTB

答えて

0
if let model = item, item?.date != nil{ 

     pickDate.date = model.date 

} 
0

項目は、(より良いエンティティの定義が含まれる)エンティティが十分な情報を提供していませんが、メッセージに従って、item?.dataはタイプNSDate?(別名Optional<NSData>)です。 (NSDateDateの間で変換するときにあなたが通常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") 
} 
は多分
0

itemゼロ:あなたはas -castingだけでなく、Date?NSDate?DateNSDateを変換することができます。 item?.dataはおそらくゼロです。 この試す:スウィフト3.xの(Xcodeの8.3.3)を使用して

pickDate.date = item!.date as! Date 

または

pickDate.date = (item?.date)! as Date 
0

を私は警告を取り除くことができました:

pickDate.date = item.date! as Date 

しかし、この"item"はもはやオプションではないことを前提としています。

関連する問題