基本上我是从网络服务器下载图像,然后将它们缓存到磁盘,但在我这样做之前,我想掩盖它们.我正在使用每个人似乎都指出的屏蔽代码,可以在这里找到:http: //iosdevelopertips.com/cocoa/how-to-mask-an-image.html
但是会发生什么,图像显示正常,但是用于写入磁盘的版本
UIImage *img = [self maskImage:[UIImage imageWithData:data] withMask:self.imageMask];
[UIImagePNGRepresentation(img) writeToFile:cachePath atomically:NO];
Run Code Online (Sandbox Code Playgroud)
与后面显示的相比,它的alpha通道被反转(在这里使用相同的UIImage实例).
有任何想法吗?我确实需要屏蔽缓存版本,否则如果我每次必须屏蔽它们,那么在表格视图中显示图像会非常慢.
编辑:所以是的,UIImagePNGRepresentation(img)似乎反转了alpha通道,与写入磁盘的代码没有任何关系,这是相当明显的,但无论如何我都检查过.
我有两种类型的异议:地点和历史项目.我正在尝试获取附加到任何历史记录项的位置,因此我对该位置的获取谓词是"history.@ count> 0",这样可以正常工作.
我还想用NSSortDescriptor按照他们最新的历史项目的日期对位置对象进行排序,据我所知,这将是"history.@ max.time",但是这会引发以下错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: 'Keypath containing KVC aggregate where there shouldn't be one;
failed to handle history.@max.time'
Halp plox?