Я создаю NSURL
в одном представлении контроллера, а затем используя его в другом. URL-адрес содержит правильную строку в контроллере представления, где он создается, но в контроллере представления, к которому я передаю его, это NULL
.NSURL не передается между контроллерами представления
NSData *data = feed.imageData;
NSData *stringData = feed.urlString;
self.stringForURL = [[NSString alloc] initWithData:stringData encoding:NSUTF8StringEncoding];
self.stringForURL = [self.stringForURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
self.finalURL = [NSURL URLWithString:self.stringForURL];
А вот где я передать его на другой контроллер вида:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSManagedObject *object = [[self fetchedResultsController] objectAtIndexPath:indexPath];
// Code to create detailed view and set properties
DetailViewController *detailViewController = [[DetailViewController alloc] init];
detailViewController.managedObjectContext = self.managedObjectContext;
detailViewController.managedObject = object;
NSLog(@"Here is the final URL:%@", [self.finalURL absoluteString]);
detailViewController.finalURL = self.finalURL;
DetailViewController *detailsViewController = [[DetailViewController alloc] init];
[self.navigationController pushViewController:detailsViewController animated:YES];
}
В secondviewcontroller.h:
@property (strong, nonatomic) NSURL *finalURL;
В secondviewcontroller.m:
AVAsset *asset = [AVURLAsset URLAssetWithURL:self.finalURL options:nil];
Как вы объявляете свойство finalURL в своем DetailViewController? – chancyWu
Здесь я обновил свой вопрос @Chancy – matthew
@matthew: Вы уверены, что настраиваете на оригинальный detailviewController? или к новому экземпляру DetailViewController? –