在 Core Data 中设置数字属性时遇到问题

Posted

技术标签:

【中文标题】在 Core Data 中设置数字属性时遇到问题【英文标题】:Trouble setting number attribute in Core Data 【发布时间】:2011-05-13 18:42:48 【问题描述】:

我在核心数据中有一个实体“项目”。项目有两个属性:名称和编号。 name 是一个 NSString*,number 是一个 NSNumber*。我在 Core Data 建模工具中将“整数 32”指定为数字类型。以下代码正确设置名称但不正确设置数字:

Item *item = (Item *) [NSEntityDescription insertNewObjectForEntityForName:@"Item"
                       inManagedObjectContext:managedObjectContext]; 

[item setName:@"test name"];
[item setNumber:[NSNumber numberWithInteger:123]];

Logging card.name 按预期显示“测试名称”。记录 card.number 显示一个很大的随机数。我期待 123,因为这是我传递给 numberWithInteger 的。

为什么 number 属性设置不正确?

几点说明:

我通过在建模工具中选择“项目”实体并添加一个新的“托管对象类”来创建项目类。这为我创建了属性等。

【问题讨论】:

【参考方案1】:

这是一个日志记录问题:

NSLog([NSString stringWithFormat:@"%d", item.number]);

需要

NSLog([NSString stringWithFormat:@"%@", item.number]);

(必须将 %d 更改为 %@)

【讨论】:

以上是关于在 Core Data 中设置数字属性时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mac 应用程序中设置初始 Core Data 存储?

如何在 Core Data 中设置一对多关系的排序?

如何在 iOS 上的 Core Data 中设置新创建的关系?

如何在 ASP.NET Core 2.0 中设置多个身份验证方案?

如何使用 Core Bluetooth 在 iOS 中设置 BLE 外围设备的名称

在 ASP.NET MVC Core 控制器的构造函数中设置 ViewBag 属性