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

在iOS中,如何从子ViewController获取图像?,ios,uiimage,uitableview,nsdata,segue,Ios,Uiimage,Uitableview,Nsdata,Segue,我正在尝试从我的子ViewController获取图像并将其上载到我的服务器。这是我的图像代码 StoryTableViewController *storyTable = [[StoryTableViewController alloc] init]; UIImage *storyImage = storyTable.storyPhotoPreview.image; NSData *imageData =UIImageJPEGRepresentation(storyImage, 0.8);

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

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

NSData *imageData =UIImageJPEGRepresentation(storyImage, 0.8);

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

答案是不要这样做。这破坏了视图控制器的封装。它也只是在像你这样的情况下不起作用

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

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

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

顺便说一句,您不应该使用alloc/init创建视图控制器。用于创建视图控制器的指定初始值设定项为initWithNibName:bundle:

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


如果您使用的是故事板,那么应该使用InstanceViewController的标识符加载视图控制器:

答案是不要这样做。这破坏了视图控制器的封装。它也只是在像你这样的情况下不起作用

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

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

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

顺便说一句,您不应该使用alloc/init创建视图控制器。用于创建视图控制器的指定初始值设定项为initWithNibName:bundle:

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


如果您使用的是故事板,那么应该使用InstanceViewController的标识符加载视图控制器:

答案是不要这样做。这破坏了视图控制器的封装。它也只是在像你这样的情况下不起作用

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

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

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

顺便说一句,您不应该使用alloc/init创建视图控制器。用于创建视图控制器的指定初始值设定项为initWithNibName:bundle:

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


如果您使用的是故事板,那么应该使用InstanceViewController的标识符加载视图控制器:

答案是不要这样做。这破坏了视图控制器的封装。它也只是在像你这样的情况下不起作用

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

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

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

顺便说一句,您不应该使用alloc/init创建视图控制器。用于创建视图控制器的指定初始值设定项为initWithNibName:bundle:

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

如果您使用的是故事板,则应使用InstanceViewController WithiIdentifier加载视图控制器: