如何将MainViewController中uiimage
中选择的uiimagepickercontroller
传递给SecondViewController?它确实推送到SecondViewController,但是uiimage
是空的。
我在网上搜索过,尝试使用这些解决方案,但仍然无法正常使用。
photoImage
是我在SecondViewController中声明的uiimageview
。
- (void)imagePickerController:(UIImagePickerController *) picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[picker dismissModalViewControllerAnimated:YES];
SecondViewController *secondVC = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
[secondVC.photoImage setImage:[info objectForKey:@"UIImagePickerControllerEditedImage"]];
[self.navigationController pushViewController:secondVC animated:YES];
[secondVC release];
}
答案 0 :(得分:0)
创建一个共享类,用于存储图像,并在任何地方访问它。
在MainViewController中,在该共享类'ivar中分配该图像,并在SecondViewController中访问它。
编辑:
下面的代码显示了如何实现共享类,这可能在语法上不正确,因为目前我没有使用mac,所以我不能编译。
@interface SomeManager : NSObject
+(id)myImage;
@end
@implementation SomeManager
+(id)myImage{
static id myImage= nil;
@synchronized([self class]){
if (myImage== nil) {
myImage= //put your image here;
}
}
return myImage;
}
@end
答案 1 :(得分:0)
在调用该控制器的UIImageView
方法之前,第二个视图控制器中的viewDidLoad
不存在。将属性放入包含SecondViewController
的{{1}}中,在按下视图控制器时存储对要在其中使用的图像的引用(而不是尝试设置图像视图),然后移动你的UIImage
调用第二个视图控制器的`viewDidLoad``。