在我的应用中,我有一个名为状态的核心数据实体,其中两个属性messageID为Integer32,messageText为String。
我有一个存储在SQL数据库中的字符串,应用程序在启动时下载。数据库中的字符串分为ID和文本两部分。示例消息可以是 011-Hello ,每个部分都存储在名为messageParts的数组中。数组中的第一项是ID:
NSInteger newMessageID = [messageParts[0] integerValue];
我想将此ID与存储在Core Data中的ID进行比较,例如:
if (messageID == newMessageID)
我得到newMessageID很好,我有一个数字可以使用,但我对如何处理来自核心数据的数据类型感到困惑。我可以看到数据库中有一个使用SQLlitebrowser的编号,我尝试过:
NSInteger *savedMessageID = [[self.status objectAtIndex:0] messageID];
和
NSInteger savedMessageID = [[self.status objectAtIndex:0] messageID];
但是既不返回存储的值。我认为这是一个指针问题,但我在这里绕圈子。任何帮助非常感谢。
答案 0 :(得分:1)
如果从xcdatamodeld生成NSManagedObject子类(Xcode菜单编辑器>创建NSManagedObject子类...),您会发现integer32字段是作为NSNumber生成的......
这可能是你应该看看的地方?