2015-09-07 94 views
0

我最近升級我的工作與IOS 8中運行應用程序,這一切工作正常。 但是,有時,當我啓動應用程序的SQLite我SELECT查詢返回:SQLite的選擇查詢有時會返回一個隨機數

322027609095939383707792575607519049745533997457083986970229508889061718536004240161547019569861752725561453245069316208671532472953637165437644212189011829130655476571403671022488303200932764265703966515944712440546988860820727338331302000475693699091660800.000000 

84902528013508089164778277091711377903148050997045969503110252996583267358608226520193514416555326678785596608608177469762862141711497480246768422703670157146950930769110892544.000000 

爲存儲在這些行中的值,這是不正確的,有沒有價值還沒有。這個錯誤然後在我下一次嘗試訪問數據時自行解決 - 返回0.000000和0.000000的正確值。

任何想法爲什麼?

P.S.

我還沒有包括任何與此代碼,我可以,如果有必要 - 但我認爲,因爲它是在IOS4前工作,這是一個間歇性的錯誤是不與代碼的問題。

+1

順便說一句,粘貼文本中有兩個長數字,用逗號分隔。一位小數點剩下259位數字,另一位數字爲176. –

+0

有意思的是,我剛剛措辭嚴重,現在已經做出了更正 –

回答

1

事實證明,它一定有什麼事情做與儲存價值的方式,訪問來自SQL架構一個數字,將其轉換爲雙似乎有時會返回一個隨機值。

將值更改爲一個NSNumber似乎解決問題。

0

的第一個數字,當轉換爲十六進制,看起來像這樣(214個十六進制數字,107個字節):

AB937B19732B6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 

第二個數字是這樣的(148個十六進制數字,74個字節):

015746974616C600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 

我不知道這些數字有什麼意義。它們看起來不像任何類型的ASCII字符串。也許他們只是在未初始化的位置留下噪音。