我正在尝试使用Google的示例从Google云端硬盘加载图片
- (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 :(得分: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。
答案 1 :(得分:0)
查看以下链接:
我对所提供的教程不予理睬。这些都是精彩的文章,我想我会指出你正确的方向。
好运。
答案 2 :(得分:0)
为了将来参考,我找到了我在这里寻找的答案 Google Drive - Displaying images on uitableview