簡體   English   中英

CoreData 中的 Double 返回非常小的數字

[英]Double from CoreData returns very small number

我正在開發一個潛水應用程序,其中一項功能是將潛水的評級作為雙倍存儲到 CoreData 中。 界面應該能夠從 coredata 對象中檢索 double 值,然后在屏幕上顯示。 但是,我從代碼中得到的問題是對象返回的 double 非常小(e 的冪為 -315)。 我不知道為什么會這樣。

if let dives = self.diveSite?.logged_dives {
            for dive in dives {
                print("######### dive site info ########")
                rating = Double(dive.rating) + rating
                print(dive)
                print("raw dive site rating is \(dive.rating)")
                print("dive rating is \(rating)")
            }
        } else {
            print("no logged_dives")
        }

這是控制台上打印出來的內容......

######### dive site info ########
<ScubaDoo.DiveLog: 0x7fe9ea02cbc0> (entity: DiveLog; id: 0xd000000000180002 <x-coredata://2B6F1E6F-1EDA-4910-91FA-0593E05F9EB2/DiveLog/p6> ; data: {
    current = nil;
    depth = 0;
    "dive_at" = "0xd000000000140000 <x-coredata://2B6F1E6F-1EDA-4910-91FA-0593E05F9EB2/DiveSite/p5>";
    id = nil;
    latitude = 0;
    longitude = 0;
    rating = 5;
    "sea_condition" = nil;
    temperature = 0;
    time = nil;
    weather = nil;
})
raw dive site rating is 5.35679601527854e-315
dive rating is 1.06203402623994e-314
dive site rating is 1.06203402623994e-314

swift 中的 DiveLog 對象如下。 我真的不知道這個。 在獲取評級屬性時似乎有些東西越界了?

import Foundation
import CoreData

extension DiveLog {

    @NSManaged var time: NSDate?
    @NSManaged var latitude: NSNumber?
    @NSManaged var id: String?
    @NSManaged var rating: NSNumber?
    @NSManaged var depth: NSNumber?
    @NSManaged var temperature: NSNumber?
    @NSManaged var weather: String?
    @NSManaged var current: String?
    @NSManaged var sea_condition: String?
    @NSManaged var longitude: NSNumber?
    @NSManaged var dive_at: DiveSite?

}

不確定剛剛發生了什么,但我升級到 XCode 7.3,不知何故問題得到了解決。 我猜是 IDE 本身的問題?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM