在iOS中如何从子ViewController获取图像?

时间:2013-10-17 03:39:13

标签: ios uiimage uitableview nsdata segue

我正在尝试从我的子ViewController获取图像并将其上传到我的服务器。这是我的图像代码。

StoryTableViewController *storyTable = [[StoryTableViewController alloc] init];
UIImage *storyImage = storyTable.storyPhotoPreview.image;

NSData *imageData =UIImageJPEGRepresentation(storyImage, 0.8);

我正在我的h文件中导入StoryTableViewController,这是我的子ViewController。 StoryTableViewController是一个嵌入式segue。提前感谢您给我的任何答案。

1 个答案:

答案 0 :(得分:3)

答案是不要那样做。这打破了视图控制器的封装。它也很简单,在像你这样的情况下不起作用。

您应该将另一个视图控制器的视图视为私有。

如果您希望能够从另一个视图控制器获取图像,请添加一个获取图像并返回图像的方法。

或者,您可以向StoryTableViewController添加UIImage属性,并在初始时设置该属性。

顺便说一下,你不应该用alloc / init创建一个视图控制器。用于创建视图控制器的指定初始化程序是initWithNibName:bundle:

请注意,对于在nib内部调用的视图控制器(视图控制器不常见,但不是闻所未闻),它们将使用initWithCoder创建,这是规则的一个例外,您应该始终调用对象的指定初始化程序。

如果您正在使用故事板,则应使用instantiateViewControllerWithIdentifier加载视图控制器: