我在這裏看到關於閱讀user_version的其他問題,這似乎對我來說工作得很好。不過,我試圖在FMDB中使用sqlite來設置我的版本號,而不是設置。在sqlite中設置user_version
_db = [self openDatabase];
[_db executeUpdate:[StudentController creationString]];
[_db executeUpdate:[ReadingController creationString]];
[_db executeUpdate:[SessionController creationString]];
NSLog(@"User version is %i", userVersion);
NSString *query = [NSString stringWithFormat:@"PRAGMA USER_VERSION = %i", userVersion];
[_db executeQuery:query];
輸出我得到的是:
2014-01-16 22:16:25.438 MyApp[2810:1c103] User version is 2
2014-01-16 22:16:25.439 MyApp[2810:1c103] Query is PRAGMA USER_VERSION = 2
2014-01-16 22:18:09.272 MyApp[2810:1c103] Database copied and created
和運行應用程序了一下,與數據庫保存和加載後就好了,我重新啓動應用程序,並讀取版本號和我打電話此檢查版本號:
FMResultSet *ps = [_db executeQuery:@"PRAGMA USER_VERSION"];
NSDictionary *results = [[NSDictionary alloc] init];
while ([ps next]) {
results = [NSDictionary dictionaryWithDictionary:[ps resultDictionary]];
}
和結果是一個很好的形成詞典:
(lldb) po results
$0 = 0x09bf5770 {
"user_version" = 0;
}
(lldb)
我想知道:爲什麼用戶版本號不適合我?
我使用FMDB 2.7.2,重新啓動應用程序後userVersion回滾。有任何想法嗎? –