【发布时间】:2013-08-01 07:45:49
【问题描述】:
我的模型中有属性为“id”的实体,数据类型为整数 64。
我正在使用属性@property (nonatomic, retain) NSNumber * id;。
我使用
id tempItem = [NSEntityDescription insertNewObjectForEntityForName:@"XYZ"
inManagedObjectContext:context];
并设置 NSNumber myID 值[tempItem setValue:myID forKey:@"id"];
问题是:当我使用打印描述打印 NSNumber myID 时,它会显示正确的数字,但是当我使用上面的代码将其设置为我的 NSManagedObject 并打印 NSManagedObject 时,它会变为负值。
我正在尝试设置12941051589483540916(这个数字是有效的interger64),它被设置为-5505692484226010700。
我做错了什么?
提前致谢!
【问题讨论】:
-
如何将 NSNumber 转换为 NSString 并将其设置为 NSManagedObject
-
如果您使用的是 iPhone(也可能是 iPad),它是 32 位平台,我认为您无法存储大于 32 位最大 int 的 int。即使你设置了 integer64。
-
@NicolasManzini:Core Data 可以在 iOS 上毫无问题地存储 64 位数字。