2016-10-03 8 views
1

iOSアプリケーションをswift 2からswift 3に移行する途中ですが、このエラーが発生しました。私は理解できません。行う。iOS 10 Xcode 8 - Swift 3とDateへの移行

dateApprovedというプロパティを読み取ろうとしたときに問題が発生しましたが、dateCreatedでは読み取れません。プロパティcEntityを検査する際に

print("dateApproved: \(cEntity.dateApproved)") 
print("dateCreated: \(cEntity.dateCreated)") 

Entityクラス

@objc(entity) 
open class Entity: NSManagedObject { 

    ... 
    @NSManaged var dateApproved: Date 
    @NSManaged var dateCreated: Date 
    ... 

私は

dateApproved = nil; 
dateCreated = "2016-08-24 22:20:38 +0000"; 

これはエラー

​​

のスクリーンショットであることがわかります

注:それは前に働いていた私はスウィフト3.

に準拠するように、すべてのコードを移行していますから、それだけでもう動作しませんあなたは私にこれを追跡/解決する方法についていくつかのポインタを与えてもらえ問題。非常に高く評価。

答えて

1

インスタンス変数dateApprovedは非オプション変数として宣言されています。つまり、Swiftは決してnilとはみなされません。ただし、デバッガが示すように、nilです。

したがって、宣言を現実に合うように変更し、オプションにします。

@NSManaged var dateApproved: Date? 
+0

本当に問題でした。ありがとう – TheEwook

関連する問題