私の目標は、ライブラリからビデオを一覧表示し、各アイテムをタップして URL を取得することです。
写真ライブラリからすべてのビデオを取得し、textLabel を URL に設定しました。ただし、動画をタップすると、すべての動画が最後のセルにある動画の URL を NSLog アウトします。各動画の URL を実際に取得するにはどうすればよいですか? 何が問題だったのかわかりません。
これが私の(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
方法のいくつかの重要な行です:
static NSString *CellIdentifer = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifer];
if (cell == nil) {
cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifer];
}
if (tableView.tag==0)
{
ALAsset *asset = [videoLibrary objectAtIndex:indexPath.row];
videoURL = [[asset defaultRepresentation] url];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
tap.numberOfTapsRequired = 1;
//here I am trying to print out the urls
NSLog(@"-------- the url is: ---------");
NSLog(@"%@", videoURL);
[cell.textLabel setText:[NSString stringWithFormat:@"%d. %@", indexPath.row+1, videoURL]];
[cell.imageView setImage:[UIImage imageWithCGImage:[asset thumbnail]]];
//where the cells get the gesturerecognizer
[cell addGestureRecognizer:tap];
}
else
{
[cell.textLabel setText:@"Show Resume"];
}
return cell;
そして、これは私のハンドラーメソッドです:
- (void)handleTap:(UITapGestureRecognizer *)sender
{
[super self];
if (sender.state == UIGestureRecognizerStateEnded) {
NSLog(@"clicked! I can get url: [%@] here!", videoURL);
}
}
コードのどこが間違っていたのですか?
よろしくお願いします。