首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在CoreData中存储UInt64?

如何在CoreData中存储UInt64?
EN

Stack Overflow用户
提问于 2020-07-14 09:36:17
回答 1查看 148关注 0票数 2

我的理解是UInt64可以是从0到18446744073709551615的任何值

我需要将一个UInt64标识符保存到CoreData,但是我看到的值是:

我最初尝试了Integer 64,但现在我知道它的范围是:-9223372036854775808到9223372036854775807

开发人员是否通常将UInt64存储为字符串并在两种类型之间进行转换?这是最佳实践吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-15 01:51:49

您可以(无损地)在UInt64Int64之间进行转换

代码语言:javascript
复制
// Set:
obj.int64Property = Int64(bitPattern: uint64Value)

// Get:
let uint64Value = UInt64(bitPattern: obj.int64Property)

您可以将uint64Value定义为托管对象类的计算属性,以自动执行转换:

代码语言:javascript
复制
@objc(MyEntity)
public class MyEntity: NSManagedObject {
    
    public var uint64Property: UInt64 {
        get {
            return UInt64(bitPattern: int64Property)
        }
        set {
            int64Property = Int64(bitPattern: newValue)
        }
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62886770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档