我想知道在什么情况下此代码会在第二个断言中中断。换句话说,-[UIImage CGImage]什么时候可以返回nil?该文档在这里不是很清楚。

- (void)setImage:(UIImage *)anImage {
    assert(anImage);
    CGImageRef cgimage = anImage.CGImage;
    assert(cgimage);
}


我很确定,UIImage是正确的,因为它是从应用程序捆绑中获取的。到目前为止,我还无法复制该案例,但确实看到了一些用户崩溃报告。

最佳答案

另一种可能性是,您有多个线程同时访问同一UIImage对象。这是在我的代码中出现相同症状的情况。

这也可能解释了您的零星崩溃报告,因为访问模式将取决于每次运行更改的时间。

07-28 02:30
查看更多