У меня есть CollectionView и в методе didSelectItemAtIndexPath У меня есть экземпляр нового ViewController, устанавливающий свойство String на ViewController для хранения имени изображения. А затем в viewDidLoad или методе viewDidAppear в новом ViewController я пытаюсь установить изображение, используя свойство vc.imageName.пытается загрузить изображение в новый ViewController из didSelectCellAtIndex
Вот код:
// collection.m
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
ViewController *vc = [[ViewController alloc] init];
NSString *imageName = [colouringPhotos objectAtIndex:indexPath.row];
vc.imageName = imageName;
[self presentViewController:vc animated:YES completion:nil];
}
// ViewController.h
@property (nonatomic, strong) NSString * imageName;
//ViewController.m
@property (strong, nonatomic) IBOutlet UIImageView *lineImageView;
-(void) viewDidAppear:(BOOL)animated{
self.lineImageView.image = [UIImage imageNamed:self.imageName];
}
Но изображение не показывает. Я установил цвет фона в ImageView, чтобы проверить, что он отображается в новом ViewController, и я вижу его, но изображение никогда не отображается в UIImageView.
Да, имя null, когда я установил точку останова в viewDidLoad. поэтому имя не передается новому ViewController –
, если я устанавливаю точку останова в файле vc.imageName = imageName. Я могу видеть, что имя_файла есть, но как только оно передается в presentViewcontroller, оно равно null в методе viewDidLoad. –