【发布时间】:2014-06-22 11:15:19
【问题描述】:
我在一个实体上有一个 CoreData 属性,我想在该实体上存储大于 Int32.max 和 UInt32.max 的整数值。该值用作索引,因此查找性能很重要。所以我选择在 CoreData 中使用 Integer 64 作为数据类型。
现在我正在努力研究如何在我的实体实例上存储 Int64。另请参阅我尝试过的以下不同方法。
使用NSNumber:
import Foundation
import CoreData
class Node : NSManagedObject {
@NSManaged var id : NSNumber
}
node.id = Int64(1)
> 'Int64' is not convertible to 'NSNumber'
使用NSInteger:
import Foundation
import CoreData
class Node : NSManagedObject {
@NSManaged var id : NSInteger
}
node.id = Int64(1)
> 'Int64' is not convertible to 'NSInteger'
使用Int64:
import Foundation
import CoreData
class Node : NSManagedObject {
@NSManaged var id : Int64
}
node.id = Int64(1)
> EXC_BAD_ACCESS (code=1, address=...)
应该如何定义/分配属性以使用 64 位整数?
【问题讨论】: