我想知道在什么情况下此代码会在第二个断言中中断。换句话说,-[UIImage CGImage]
什么时候可以返回nil
?该文档在这里不是很清楚。
- (void)setImage:(UIImage *)anImage {
assert(anImage);
CGImageRef cgimage = anImage.CGImage;
assert(cgimage);
}
我很确定,UIImage是正确的,因为它是从应用程序捆绑中获取的。到目前为止,我还无法复制该案例,但确实看到了一些用户崩溃报告。
最佳答案
另一种可能性是,您有多个线程同时访问同一UIImage对象。这是在我的代码中出现相同症状的情况。
这也可能解释了您的零星崩溃报告,因为访问模式将取决于每次运行更改的时间。