簡體   English   中英

Xcode從服務器下載數據庫

[英]Xcode download db from server

我正在創建一個使用數據庫顯示數據的應用程序,但當前該數據庫通過FMDB在本地讀取數據。 我想知道的是如何直接從服務器下載數據庫並將其顯示在表視圖中?

代碼段:-

-(void)viewWillAppear:(BOOL)animated{
    NSString *path = [[NSBundle mainBundle] pathForResource:@"Climbing" ofType:@"db"];

    FMDatabase *db = [FMDatabase databaseWithPath:path];
    if (![db open]) {
        NSLog(@"Error Opening DB");
        return;
    }
    NSString *queryString;
    CDData *regioni;

    queryString = @"SELECT * , (SELECT count (*) FROM citta t WHERE t.id_regione = a.id_regione) as city FROM regione a ";

    FMResultSet *s = [db executeQuery:queryString];
    while ([s next]) {
        regioni = [[CDData alloc] initWithRecordSet:s];
        [self.data addObject:regioni];

    }
    [db close];
}

使用URL會話創建下載任務:

NSString *urlString = @"http://server_DB_URL_here";
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[[NSURLSession sharedSession] downloadTaskWithRequest:request];

一旦下載任務完成,然后使用委托實現將DB文件移到其位置:

- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask
                              didFinishDownloadingToURL:(NSURL *)location;

然后使用您發布的代碼從保存的路徑打開數據庫。

   FMDatabase *db = [FMDatabase databaseWithPath:....

注意:我不會在viewWillAppear中完成上述所有操作:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM