从核心数据中读取整数

Reading integer from Core Data

在我的应用程序中,我有一个名为 StatusCore Data 实体,具有两个属性 messageID 作为 Integer32 和 messageText 作为 String。

我有一个字符串存储在应用程序启动时下载的 SQL 数据库中。来自数据库的字符串分为 ID 和文本两部分。示例消息可以是 011-Hello,每个部分都存储在一个名为 messageParts 的数组中。数组中的第一项是 ID:

NSInteger newMessageID = [messageParts[0] integerValue];

我想将此 ID 与存储在 Core Data 中的 ID 进行比较,例如:

if (messageID == newMessageID)

我得到了 newMessageID,我有一个数字可以使用,但我完全不知道如何处理来自 Core Data 的数据类型。我可以使用 SQLlitebrowser 看到数据库中有一个数字,我已经尝试过:

NSInteger *savedMessageID = [[self.status objectAtIndex:0] messageID]; 

NSInteger savedMessageID = [[self.status objectAtIndex:0] messageID]; 

但return 都不是存储值。我认为这是一个指针问题,但我在这里兜圈子。

如果您从 xcdatamodeld 生成 NSManagedObject 子类(Xcode 菜单编辑器 > 创建 NSManagedObject 子类...),您会发现 integer32 字段生成为 NSNumber...

这也许是您应该看一看的地方?