2014-01-07 3 views
0

Я пытаюсь загрузить изображения с Google Drive, используя пример Google,Загрузка изображений на UITableView из Google Drive

- (void)loadDriveFiles { 
    GTLQueryDrive *query = [GTLQueryDrive queryForFilesList]; 
    query.q = @"mimeType = 'image/png'"; 

    UIAlertView *alert = [DrEditUtilities showLoadingMessageWithTitle:@"Loading files" 
                  delegate:self]; 
    [self.driveService executeQuery:query completionHandler:^(GTLServiceTicket *ticket, 
                  GTLDriveFileList *files, 
                  NSError *error) { 
    [alert dismissWithClickedButtonIndex:0 animated:YES]; 
    if (error == nil) { 
     if (self.driveFiles == nil) { 
     self.driveFiles = [[NSMutableArray alloc] init]; 
     } 
     [self.driveFiles removeAllObjects]; 
     [self.driveFiles addObjectsFromArray:files.items]; 
     [self.tableView reloadData]; 
    } else { 
     NSLog(@"An error occurred: %@", error); 
    //show error 
    } 
    }]; 
} 

и отображение его на просмотр таблицы, как показано

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"]; 
    cell.imageView.image=[UIImage imageNamed:[NSString stringWithFormat:@"%@",file.title]]; 


} 

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

+0

[imageNamed] (https://developer.apple.com/library/ios/documentation/uikit/reference/UIImage_Class/Reference/ Reference.html) работает только для изображений, доступных в основном комплекте, в вашем случае вы загружаетесь с сервера, чтобы он не работал. Попробуйте использовать другой ресурс, например. [SDWebImage] (https://github.com/rs/SDWebImage) –

ответ

0

Вам не хватает строки в вашем методе cellForRowAtIndexPath? Тот, который получает файл из массива файлов?

Что-то вроде:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"]; 

    GTLFile* file = [self.driveFiles objectAtIndex:indexPath.row]; 
    ... 
} 

Примечание: Я предполагаю, что на тип файла для переменной файла здесь.

Затем, как указал кто-то другой, эти файлы загружаются где-то локально? Если так что вы хотите, чтобы загрузить их, используя их полный локальный путь, используя:

[UIImage imageWithContentsOfFile:fullFilePath]; 

См UIImage Class Reference для других вариантов.

+0

Вы не можете использовать 'imageNamed:'. Это работает только для изображений в наборе ресурсов приложения. – rmaddy

+0

@rmaddy, который в основном уже указан здесь – valheru

+1

К сожалению, я забыл прочитать ваш последний абзац. Мне стыдно. :) – rmaddy

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