iphone - 将 NSNumber 设置为 NSManagedObject 属性

标签 iphone ios core-data

我的模型中有一个属性为“id”的实体,数据类型为整数 64。 我正在为它使用属性 @property (nonatomic, retain) NSNumber * id;。 我使用

创建 NSManagedObject
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/

相关文章:

iphone - 有什么方法可以将 Xcode 3 与 iOS SDK 4.3 一起使用?

iOS:如何在同一代码 xcode swift 中为设备和模拟器添加不同的框架?

ios - 通过谓词进行整数比较

ios - 我可以安全地将 'CoreData could not fulfill a fault' 错误包装在 @try catch block 中吗

ios - xcassets 中的所有图像,然后如何加载从我的包中的 Nib 引用的图像

iphone - 使用vb.net在iPhone中上传文件

iphone - MKMapView 注释更改顺序/顺序

iphone - iOS block - 使用未声明的标识符 self

ios - 有什么办法可以为iOS的通用链接添加userInfo吗?

swift - 多线程核心数据有时返回nil属性