2013-11-11 4 views
2

У меня есть UIWebView для отображения статей. Я сохранил координаты местоположения в базе данных и кнопки отображения. После удаления координат из базы данных кнопки все еще отображаются. когда я вернусь из UIWebView и вернусь, кнопки удаляются. Мне нужно перезагрузить или обновить после удаления кнопки. Я использовал Reload, но после удаления отображает белую страницу.Обновить UIWebView

-(void)recycle:(id)sender { 


    int new_delete_tag; 



    NSArray *coorpaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); 
    NSString *coordocumentsDirectory = [coorpaths objectAtIndex:0]; 
    NSLog(@"docs dir is %@", coordocumentsDirectory); 

    NSString *coorpath = [coordocumentsDirectory stringByAppendingPathComponent:@"db.sqlite"]; 
    NSLog(@"filepath %@",coorpath); 

    if (sqlite3_open([coorpath UTF8String], &database) == SQLITE_OK) { 


     const char *sql = [[NSString stringWithFormat: 
          @"SELECT xcoor,ycoor,artt_id,button_tag FROM touch where button_tag = '%d'", webbuttontag]cStringUsingEncoding:NSUTF8StringEncoding]; 


     NSLog(@"getmainsql is %s",sql); 

     sqlite3_stmt *statement; 

     if (sqlite3_prepare_v2(database, sql, -1, &statement, NULL) == SQLITE_OK) { 
      // We "step" through the results - once for each row. 
      while (sqlite3_step(statement) == SQLITE_ROW) { 



       xfr=sqlite3_column_double(statement, 0); 

       yfr=sqlite3_column_double(statement, 1); 

       art_Idr = sqlite3_column_int(statement, 2); 

       new_delete_tag = sqlite3_column_int(statement, 3); 



       NSLog(@"xfr is %f",xfr); 

       NSLog(@"yfr is %f",yfr); 

       // NSLog(@"zc is %@",zc); 

       NSLog(@"art_Idr is %ld",(long)art_Idr); 



          NSLog(@"new_delete_tag is %d",new_delete_tag); 



      } 
     } 
    } 


    if(xfr && yfr && new_delete_tag && art_Idr){ 



     NSLog(@"error"); 


     NSLog(@"xfr is %f",xfr); 
     NSLog(@"yfr is %f",yfr); 
     NSLog(@"art_idd is %ld",(long)art_Idr); 

     sqlite3_stmt *addStmt; 




     const char *sqlDelete = [[NSString stringWithFormat:@"delete FROM touch where xcoor = %f AND ycoor = %f AND button_tag = '%d' AND artt_id = '%@'",xfr,yfr,new_delete_tag,artID] cStringUsingEncoding:NSUTF8StringEncoding]; 


     NSLog(@"sql delete is %s",sqlDelete); 

     if(sqlite3_prepare_v2(database, sqlDelete, -1, &addStmt, NULL) != SQLITE_OK) 
      NSAssert1(0, @"Error while deleting coor from touch . '%s'", sqlite3_errmsg(database)); 

     NSLog(@"%s error finalizing %s", __FUNCTION__, sqlite3_errmsg(database)); 

     if(SQLITE_DONE != sqlite3_step(addStmt)) 
      NSAssert1(0, @"Error while deleting coor from touch . '%s'", sqlite3_errmsg(database)); 


    [txtview removeFromSuperview]; 


    } 

    // Reload here 

[wbCont reload]; 

} 

ответ

1

данные кэшируются на веб-просмотра.

пройти 'Игнорирует местного cachePolicy данных' к исходному NSURLRequest

(где первоначально называют loadRequest!)

NSMutableURLRequest *r = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"URL"]]; 
r.cachePolicy = NSURLRequestReloadIgnoringCacheData; 
//load in webview 
-1

Попробуйте

[wbCont stopLoading ]; 
[wbCont reload]; 
+0

Я попробовал это. Но это не работает. – user2967559

+0

В чем тут логика :) –

Смежные вопросы