我想知道在什么情况下,这段代码会在第二次断言中中断。换句话说,-[UIImage CGImage]什么时候可以返回nil?这里的文件不太清楚。
- (void)setImage:(UIImage *)anImage {
assert(anImage);
CGImageRef cgimage = anImage.CGImage;
assert(cgimage);
}我非常肯定,UIImage是正确的,因为它是从应用程序包中提取的。到目前为止,我还没有能够重现这个案例,但我确实看到了一些用户崩溃报告。
发布于 2012-06-14 18:38:43
另一种可能是,您有多个线程同时访问同一个UIImage对象;这在我的代码中发生了,并且有着相同的症状。
这可能也解释了偶尔出现的崩溃报告,因为访问模式将取决于从运行到运行的时间变化。
发布于 2014-12-18 21:38:57
我在文档中遇到的另一种可能是:
如果使用CIImage对象初始化了UIImage对象,则属性值为NULL.
。
发布于 2011-03-28 17:00:59
据我所知,如果第一个断言通过(表明anImage不是零),就意味着它无法加载映像。检查以确保图像被复制到您的包中。
https://stackoverflow.com/questions/5105447
复制相似问题