iOS通过ALAssets获取照片

在iOS9中通过photos框架来获取本地图片资源时,是苹果现用的方法,而以前的ALAssetsLibrary框架是过时了,但由于现在iOS9才刚发布不久iOS8以及iOS7都存在一定量的比例,所以这个过时的框架,我们也要弄清楚,现巩固一下ALAssetsLibrary框架。

1.什么是ALAssetsLibrary框架

    简单来说ALAssetsLibrary就是我们iOS应用程序访问本机视频、照片的一个桥梁,通过这个桥梁我们能够轻松获得视频、照片的基本详细信息。

 

2.基本使用方法

    在使用ALAssetsLibrary时,我们首先需要导入ALAssetsLibrary框架,而导入ALAssetsLibrary框架的方式一般都是采用先Linked再#import<>,不过我们还可以直接采用@import的方式导入即可,而不需要linked。

    1>.通过ALAssetsLibrary获取相册专辑:ALAssetsGroup

    2>.通过ALAssetsGroup获取专辑中图片的详细信息:ALAssets

3.解决问题

    通过ALAssetsLibrary获取到图片资源后,将其按时间顺序显示在另一个tableView当中,其中遇到了一个图片显示不正确的问题:

    1>.当你第一个显示的时候上拉以及下拉都会重新添加imageView,当时我想到是在重构的set方法中每一次调佣set方法时都会有添加,于是我弄了一个全局的BOOL类型,让其只添加一次。

    2>.当你只添加一次之后,发现得到的图片资源数据根本就只有刚开始时显示的那5张,于是我在思考模型是否出错了,简单的做了一个测试代码,模型是对了。

    3>.当模型是正确的之后,图片还是一样得不到有效的改善,于是,我又在每次调用set方法的初始地方再一次写一个简单的测试代码检测模型的正确性。

    4>.当set方法的初始地方,也就是上拉、下拉时重复调佣的返回UITableViewCell的这个方法中确认了模型的正确性之后,我又去set方法里面找模型的正确性,发现它是错误的。

    由于我采用了由始至终UITableView只创建一个UItableViewCell的方法,而在上拉下拉中重复应用,因而造成了每次里面的数据又只有那5条,因为它只创建了一次,所以当我每次得到的数据就是那重复的5条,至于为什么只创建一次就是因为我第一条的解决方案所引起的。

posted on 2015-10-20 18:09  婷空万里TD  阅读(305)  评论(0编辑  收藏  举报