作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 iPhone 相机胶卷中获取最后一张照片。我使用以下代码:
UIImage* __block image = [[UIImage alloc] init];
ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init];
[library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup* group, BOOL* stop) {
[group setAssetsFilter:[ALAssetsFilter allPhotos]];
if ([group numberOfAssets] > 0) {
[group enumerateAssetsAtIndexes:[NSIndexSet indexSetWithIndex:[group numberOfAssets]-1] options:NSEnumerationConcurrent usingBlock:^(ALAsset* alAsset, NSUInteger index, BOOL* innerStop) {
if (alAsset) {
ALAssetRepresentation* rawImage = [alAsset defaultRepresentation];
image = [UIImage imageWithCGImage:[rawImage fullScreenImage]];
[self doTheJobWithImage:image];
// Inside doTheJobWithImage: a segue is also performed at the end
}
}];
}
} failureBlock:^(NSError* error) {
NSLog(@"Error: %@", [error localizedDescription]);
}];
它可以工作,但有缺陷(我正在使用 Instruments 和 Zombies 来调试它):
我正在使用 xcode 4.6、ios 6 和 ARC。提前致谢。
最佳答案
几个小时后,我发现这里的代码没有任何问题。这是提取相机胶卷中最后一张照片的正确代码(如果有人需要它)。问题出在 doTheJobWithImage: 内部,我解决了它替换
[self doTheJobWithImage:image];
并将生成的图像存储在其他地方,然后在图片枚举完成后执行 doTheJobWithImage: 。这样说是为了以防万一其他人感兴趣。
关于ios - 使用 AlAssetsLibrary 读取 iPhone 相机胶卷时出现内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14920408/
我是一名优秀的程序员,十分优秀!