2014-01-24 2 views
0

Мне нужно что-то знать о кнопке и веб-сервисе, обычно я использую Uicollectionview для отображения данных из веб-сервиса на indexPath.item, но если я не использую Uicollectionview Возможно? передавать и получать данные из веб-службы.Как проверить данные веб-сервиса с помощью кнопки?

Вот код

-(IBAction)ttButton:(id)sender 
{  
    bookName = @"test"; 
    bookVersion = [[bookList objectAtIndex:indexPath.row]bookVersion];// when I use this it's will crash. 
    _bookPosition = [[bookList objectAtIndex:indexPath.row]bookPosition]; 
    bookId = @"1"; 
    bookPath = @"test001"; 
    pageAmount = 2; 
    mainMenu = @"test"; 

// downloadURL = [[bookList objectAtIndex:indexPath.row]downloadURL]; 
// pageAmount = [[bookList objectAtIndex:indexPath.row]pageAmount]; I want to go like this. but indexPath I can use only in collection view 

     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
      NSString *stringURL = [NSString stringWithFormat:@"http://tlf/testdata/webservice/book_extract.php?main_menu=test&language=en&id=%@",(_bookPosition)]; 
      NSURLResponse *response = nil; 
      NSError *error = nil; 
      NSURL *url = [NSURL URLWithString:stringURL]; 
      NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url]; 
      NSURLConnection *urlConnection = [[NSURLConnection alloc]init]; 
      NSData *data = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error]; 

      dispatch_async(dispatch_get_main_queue(), ^{ 


       [self connection:urlConnection didReceiveResponse:response]; 
       [self connection:urlConnection didReceiveData:data]; 

       [db saveAssetVersion:_assetVersion]; 


    if([db isDownloaded:bookId bookVersion:[bookVersion floatValue]]){ 

     [self performSegueWithIdentifier:@"test" sender:self]; 


    } 
    else{ 

     [self startDownload]; 
    } 


      }); 
     }); 
} 

Пожалуйста, консультации для любой идеи. Огромное спасибо.

ответ

0

Я не думаю, что вы код, чтобы получить данные, даже вызывается в случае кнопки. В любом случае вам нужно установить делегат вашего класса NSURLConnection в класс, в котором выполняется выбор кода.

По существу, нет никакой разницы с использованием UICollectionView или UIButton. Это просто разница в том, как пользователь взаимодействует с системой. Код для загрузки и обновления должен быть раздельным и должен быть вызван аналогичным образом.

+0

хм, спасибо, я ошибаюсь, чтобы установить Uicollectionview, это работа, а не разница. –