簡體   English   中英

將 CoreData 生成的 NSManagedObject 屬性從 Int32 修改為 Int 是否安全?

[英]Is it safe, to modify the CoreData generated NSManagedObject properties from Int32 to Int?

在設計 CoreData 時,我們必須明確指定使用的 Integer 的位

  • Integer 16
  • Integer 32
  • Integer 64

在此處輸入圖像描述

如果我們選擇 Integer 32,生成的核心數據 NSManagedObject class 將是

extension NSPlainNote {
    @NSManaged public var colorIndex: Int32
    ...
}

但是,在整個 rest 的應用程序代碼中,我們都是基於Int操作的。 因此,必須在Int32Int之間執行轉換非常麻煩且容易出錯

我想知道,將 XCode 生成的 class 修改為安全行為

extension NSPlainNote {
    @NSManaged public var colorIndex: Int
    ...
}

如果我們選擇這樣做,我們可能會陷入任何潛在的陷阱嗎?

只要您不擔心超過Int32.max ,就沒有任何陷阱。 SQLite 數據存儲中不使用 Integer 大小,因此 Core Data 實際上並不關心您使用的大小。 唯一的潛在問題是,如果您真的不想要對於Int32來說太大的值,因為Int將允許更大的值。 我通常對所有內容都使用“Integer 64”,除非我有理由限制代碼中的可接受值。

暫無
暫無

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

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