В моем приложении я представляю viewcontroller (подробное представление) после выбора элемента в коллекционном представлении:
[self presentViewController:detailView animated:YES completion:^{
}];
В новом viewcontroller я запускаю avplayer, после чего я увольняю игрока, затем (viewview) viewcontroller и возвращаюсь к контроллеру home view. Здесь приложение аварийно завершает работу и выдает ошибку как [detailsviewController retain]: сообщение отправлено на освобожденный экземпляр. Это я делаю в Apple TV. Увольнение контроллеров с помощью действия меню.
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
if([assetType isEqualToString:@“MOV”] ||[assetType isEqualToString:@"PRG”] )
{
// Asset landing page
NSMutableArray *assets=[[NSMutableArray alloc]initWithObjects:@"ViewAll",nil];
[assets addObjectsFromArray:self->allAssetsArray];
NSDictionary *SelectedAsset=[self->allAssetsArray objectAtIndex:indexPath.row];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
DetailsViewController *detailView =(DetailsViewController*)[storyboard instantiateViewControllerWithIdentifier:@"DetailsViewController"];
OnDemandAssetModel * assetModel=[[OnDemandAssetModel alloc]init];
assetModel.identifier=[SelectedAsset objectForKey:@"id"];
assetModel.assetCategory=@"";//[category objectForKey:@"name"];
assetModel.assetId=[SelectedAsset objectForKey:@"assetId"];
assetModel.assetName=[SelectedAsset objectForKey:@"movieName"];
assetModel.assetDuration=[SelectedAsset objectForKey:@"runningTime"];
assetModel.assetGenre=[SelectedAsset objectForKey:@"genre"];
assetModel.assetCategoryType=@"SVoD";
assetModel.assetDirector=[SelectedAsset objectForKey:@"director"];
assetModel.assetActors=[SelectedAsset objectForKey:@"cast"];
assetModel.assetCC=[SelectedAsset objectForKey:@""];
assetModel.assetAvailableUntil=[SelectedAsset objectForKey:@"availableUntil"];
assetModel.assetRating=[SelectedAsset objectForKey:@"rating"];
assetModel.assetPosterPath=[SelectedAsset objectForKey:@"movieImage"];
assetModel.assetContentType=[SelectedAsset objectForKey:@"movieType"];
assetModel.assetDescription=[SelectedAsset objectForKey:@"description"];
assetModel.assetReleasedYear=[SelectedAsset objectForKey:@"releasedYear"];
assetModel.subscriptionStatus=[SelectedAsset objectForKey:@"subscription"];
detailView.assetModel=assetModel;
detailView.selectedAssetID=assetModel.assetId;
detailView.selectedIndex=[NSIndexPath indexPathForRow:indexPath.row+1 inSection:0];
detailView.identifier=assetModel.identifier;
[self showViewController:detailView sender:nil];
// [self presentViewController:detailView animated:YES completion:^{
// }];
}
}