「如果讓nil」檢查不在Swift 2.0中工作,但在Swift 1.2中工作正常。如果讓nil在swift 2.0中沒有按預期工作
在下面的代碼中,「fetchNumbersFromCoreDataDB」函數返回nil。在getDatabaseDate函數中,我有一個條件「if let date = dbDate」。理想情況下,這種情況應該失敗,並去其他塊。但在Swift 2.0中,它將進入if塊。在Swift 1.2中,相同的代碼將會被其他塊阻塞。我很困惑。這裏有什麼不同?
func getDatabaseDate() {
let dbDate : NSDate? = ((self.fetchNumbersFromCoreDataDB(「123456」) as DBNumbers!).dbDate)
if let date = dbDate {
print(「\(date)」)
}
else {
print(「No Date」)
}
}
func fetchNumbersFromCoreDataDB(Number:String) -> DBNumbers? {
var numArray = coreDataInterface.fetchAllObjectsFromEntity(info, withAttributeValues: [「No」 : Number]) as! [DBNumbers]
return numArray.count>0 ? numArray[0] : nil
}
注:「DBDATE」是Coredata表
因此它打印日期或崩潰? – Wain