Saya cukup baru dalam hal iOS, dan saya pikir saya memahami meneruskan data ke pengontrol tampilan. Ternyata tidak. Saya mencoba meneruskan data gambar dari ViewController induk ke ViewController anak yang disajikan secara modal. Saya pikir masalahnya ada hubungannya dengan cara objek diteruskan ke pengontrol tampilan yang disajikan secara modern, bukan yang didorong ke tumpukan navigasi. Di bawah ini adalah kode dari orang tua dan anak terkait dengan masalah yang saya alami.
Dari Orang Tua.m:
- (IBAction)sort:(id)sender {
SortSelectViewController *ssvc = [self.storyboard instantiateViewControllerWithIdentifier:@"sort"];
ssvc.backgroundImage = [self screenshot];
[self performSegueWithIdentifier:@"sort" sender:self];
//The segue is linked from my parent view controller to my child with the identifier "sort"
}
- (UIImage *) screenshot {
CGRect rect = CGRectMake(0, 20, 640, 1116);
UIGraphicsBeginImageContextWithOptions(rect.size, NO, [UIScreen mainScreen].scale);
[self.view drawViewHierarchyInRect:rect afterScreenUpdates:YES];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
return image;
}
Ini di Child.h
@property (nonatomic, strong) UIImage *backgroundImage;
Ini Anakku.m:
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
NSLog(@"%@", self.backgroundImage);
//This log will return nil when the program is run - clear sign data is not being correctly passed
self.backgroundImage = [self.backgroundImage applyDarkEffect];
self.imageView.image = self.backgroundImage;
}
Saya telah mengimpor pengontrol tampilan anak saya ke kelas induk saya