我的理解是UInt64可以是从0到18446744073709551615的任何值
我需要将一个UInt64标识符保存到CoreData,但是我看到的值是:

我最初尝试了Integer 64,但现在我知道它的范围是:-9223372036854775808到9223372036854775807
开发人员是否通常将UInt64存储为字符串并在两种类型之间进行转换?这是最佳实践吗?
发布于 2020-07-15 01:51:49
您可以(无损地)在UInt64和Int64之间进行转换
// Set:
obj.int64Property = Int64(bitPattern: uint64Value)
// Get:
let uint64Value = UInt64(bitPattern: obj.int64Property)您可以将uint64Value定义为托管对象类的计算属性,以自动执行转换:
@objc(MyEntity)
public class MyEntity: NSManagedObject {
public var uint64Property: UInt64 {
get {
return UInt64(bitPattern: int64Property)
}
set {
int64Property = Int64(bitPattern: newValue)
}
}
}https://stackoverflow.com/questions/62886770
复制相似问题