我的模型中有一个属性为“id”的实体,数据类型为整数 64。
我正在为它使用属性 @property (nonatomic, retain) NSNumber * id;
。
我使用
id tempItem = [NSEntityDescription insertNewObjectForEntityForName:@"XYZ"
inManagedObjectContext:context];
并设置 NSNumber myID 值 [tempItem setValue:myID forKey:@"id"];
问题是:当我使用 print description 打印 NSNumber myID 时,它显示了正确的数字,但是当我使用上面的代码将它设置为我的 NSManagedObject
并打印 NSManagedObject 时,它变成了负值。
我正在尝试设置 12941051589483540916
(此数字是有效的 interger64
),它被设置为 -5505692484226010700
。
我做错了什么?
提前致谢!
最佳答案
使用 id
作为属性名是一个非常糟糕的主意。 id
是一种类型,即指向通用对象的通用指针,我认为这会在现在或将来产生多个问题。
在 Core Data 中,我通常使用以下格式 ID 创建唯一标识符属性,即对于 Post 类,我将拥有 @property (nonatomic, retain) NSNumber *postID;
关于iphone - 将 NSNumber 设置为 NSManagedObject 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17988005/