小编Joo*_*ann的帖子

将屏蔽图像作为PNG文件写入磁盘

基本上我是从网络服务器下载图像,然后将它们缓存到磁盘,但在我这样做之前,我想掩盖它们.我正在使用每个人似乎都指出的屏蔽代码,可以在这里找到: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通道,与写入磁盘的代码没有任何关系,这是相当明显的,但无论如何我都检查过.

iphone cocoa-touch objective-c uikit ios

12
推荐指数
2
解决办法
2438
查看次数

NSSortDescriptor和多对多关系

我有两种类型的异议:地点和历史项目.我正在尝试获取附加到任何历史记录项的位置,因此我对该位置的获取谓词是"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?

iphone cocoa-touch core-data

8
推荐指数
1
解决办法
4965
查看次数

标签 统计

cocoa-touch ×2

iphone ×2

core-data ×1

ios ×1

objective-c ×1

uikit ×1