2015-05-26 4 views
0

Это код, в котором я использую AFSQLManager здесь, как помочь в решении этой проблемы: вот где я получаю Thread и замечаю, когда я не комментирую условие if, которое оно дозирует, а не внутри внутри условия if также попытаться NSLog оператора перед Интер, если состояние и дать мне одну и ту же нить любой помощиsqlite3_stmt дает Exc_Bad_Access

-(void)performQuery:(NSString *)query withBlock:(completionBlock)completion { 

    NSString *fixedQuery = [query stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]; 

    NSLog(@"HERE 100d : %@",fixedQuery); 

    sqlite3_stmt *statement; 

    // if (sqlite3_prepare_v2(_database, [fixedQuery UTF8String], -1, &statement, nil) == SQLITE_OK) { 

     // NSLog(@"HERE 100a : %@", statement); 

     while (sqlite3_step(statement) == SQLITE_ROW) { //HERE WHERE I GOT THE THREAD. 

      NSMutableArray *row = [NSMutableArray array]; 
      NSLog(@"HERE 100b"); 
      for (int i = 0; i < sqlite3_column_count(statement); i++) { 
       NSLog(@"HERE 100c"); 
       [row addObject:((char *)sqlite3_column_text(statement, i)) ? [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, i)] : [NSNull null]]; 
      } 

      if (completion) { 
       NSLog(@"HERE 100e"); 
       completion(row, nil, NO); 
      } 
     } 
     NSLog(@"HERE 100f"); 

     sqlite3_finalize(statement); 
     completion(nil, nil, YES); 
     NSLog(@"HERE 100g"); 
    // } 
    NSLog(@"HERE 100h"); 
} 

ответ

0

sqlite3_step() аварии, потому что statement никогда не была инициализирована, потому что вы закомментированы призывом sqlite3_prepare_v2().

Если сбой функции sqlite3_prepare_v2(), вы можете позвонить sqlite3_errmsg(), чтобы получить полезное сообщение об ошибке.

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