0

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

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

在此处输入图像描述

我没有填充的“单元格”是蓝色的。根据 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 的值并且它实际上是有意义的。

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

如果我获取不为零的所有内容,它们就在那里。所以他们不被认为是空的。

4

1 回答 1

1

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

于 2012-06-17T21:37:04.057 回答