核心数据实体内的空字符串与nil

时间:2012-06-17 20:53:52

标签: ios xcode core-data nsfetchedresultscontroller nsmanagedobject

我有一个应用程序,它提供了一个预先填充的sqlite数据库,用户可以在以后进行扩展。当我构建数据库时,我进行了设置,以便值必须是浮点数(NSNumber包含浮点数)。在数据库的某些“单元格”上没有任何价值,所以我没有填写它。

但是,当我使用Firefox扩展浏览sqlite Db时,我会看到以下内容:

enter image description here

我没有填充的“细胞”是蓝色的。根据firefox扩展设置,蓝色“单元格”表示字符串。红色表示nil / null。

我正在尝试获取特定属性的值,过滤那些“字符串”并执行以下操作:

Entity  *entity = [[self.managedObjectContext executeFetchRequest:request error:&error] objectAtIndex:0];
[entity setValue:nil forKey:@"attribute"]; // I would do a loop for all the items in the array

但是,我找不到获取那些似乎是字符串的值的方法。我唯一能做的就是选择浮点值为0的所有那些,但问题是实际上有0的值,实际上它有意义。

关于如何做到这一点的任何想法?

如果我取的所有东西都不是零,那么它们就在那里。所以他们不被视为无效。

1 个答案:

答案 0 :(得分:1)

CoreData不是数据库。它是一个对象图关系管理器。您正在尝试进行数据库操作,但它无法正常工作。如果需要直接修改数据库,则需要使用实际的数据库工具,如SQLite库(或sqlite3 CLI工具)。

相关问题