在segue之后,CGIImage是零

时间:2014-09-16 18:56:27

标签: ios cocoa-touch segue

我有prepareForSegue将这样的图像传递给下一个viewController

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
  WizardPreview *controller = [segue destinationViewController];
  controller.myPicture = myPicture;
}

viewWillAppear呈现的viewController上,我有类似这样的内容

CGImageRef imageRef = [self.myPicture CGImage];

结果是nil

奇怪的是,self.myPicture不是零,但self.myPicture.CGImage是。

有什么理由吗?

注意:myPicture传递时不是nil,即使是viewWillAppear,我也会测试,我看到self.myPicture不是nil。

注意2:这是在iOS 8上运行的iOS 7上编译的代码。

1 个答案:

答案 0 :(得分:1)

您还没有发布足够的代码来确定。最可能的三个选项是:

  1. 如果myPicture方法中的nilprepareForSegure:sender:
  2. 如果WizardPreview' myPicture属性为weak
  3. 如果UIImage没有CGImage支持(例如,如果它由CIImage支持)
  4. 如果#3为真,您可以直接从CGImagesample code here)创建CIImage