2013-10-17 76 views
0

我想從我的子視圖控制器獲取圖像並將其上傳到我的服務器。這是我的圖片代碼。在iOS中,您如何從子ViewController獲取圖像?

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

NSData *imageData =UIImageJPEGRepresentation(storyImage, 0.8); 

我導入StoryTableViewController是我的子ViewController在我的h文件。 StoryTableViewController是一個嵌入式賽格。預先感謝您提供給我的任何答案。

回答

3

答案是不這樣做。這打破了視圖控制器的封裝。這也僅僅是在你的情況下不起作用。

您應該將另一個視圖控制器的視圖視爲私有視圖。

如果您希望能夠從另一個視圖控制器獲取圖像,請添加一種獲取圖像並將其返回的方法。

或者,你可以添加一個UIImage屬性到你的StoryTableViewController並在init時設置該屬性。

順便說一句,你不應該創建一個視圖控制器與alloc/init。用於創建視圖控制器的指定初始化程序是initWithNibName:bundle:

請注意,對於在nib內部調用的視圖控制器(對於視圖控制器而言並不常見),它們將使用initWithCoder創建,它是一個您應始終調用對象的指定初始值設定項的規則的例外情況。

如果你使用故事板,那麼你應該使用加載您instantiateViewControllerWithIdentifier視圖控制器:

+0

酷和有用的信息.... –