SQLite Select 有时查询 returns 一个随机数

SQLite Select query sometimes returns a random number

我最近升级了我正在使用的应用程序以使用 IOS8,一切正常。 但是,有时当我启动应用程序时,我的 SQLite SELECT 查询 returns:

322027609095939383707792575607519049745533997457083986970229508889061718536004240161547019569861752725561453245069316208671532472953637165437644212189011829130655476571403671022488303200932764265703966515944712440546988860820727338331302000475693699091660800.000000

84902528013508089164778277091711377903148050997045969503110252996583267358608226520193514416555326678785596608608177469762862141711497480246768422703670157146950930769110892544.000000

作为存储在这些行上的值,这是不正确的,因为那里还没有值。下次我尝试访问该数据时,此错误会自行解决 - 返回正确的值 0.000000 和 0.000000。

知道为什么吗?

P.S。

我没有在其中包含任何代码,如果有必要我可以 - 但我认为它之前在 IOS4 上工作并且它是一个间歇性错误它不是代码的问题.

第一个数字,当转换为十六进制时,如下所示(214 个十六进制数字,107 个字节):

AB937B19732B6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

第二个数字如下所示(148 个十六进制数字,74 个字节):

015746974616C600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

我不知道这些数字有什么意义。它们看起来不像任何类型的 ASCII 字符串。也许它们只是留在未初始化位置的噪音。

事实证明这一定与值的存储方式有关,从 SQL 模式访问 NUMBER 并将其转换为 double 似乎有时 return 是随机的值。

将值更改为 NSNumber 似乎可以解决问题。