zoukankan      html  css  js  c++  java
  • 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条,至于为什么只创建一次就是因为我第一条的解决方案所引起的。

  • 相关阅读:
    转载 线程池 异步I/O线程 <第三篇>
    转载 线程初步了解
    gdal库中设置prj4库全路径的用法
    比较ArrayList、LinkedList、Vector
    JavaScript创建日志文件并记录时间的做法
    从length与length()开始谈Java
    Java异常处理示例
    hudson添加批处理编译命令的注意事项
    使用相对路径导入ado库的方法
    如何将字段中带逗号的SQLite数据库数据导入到MySQL
  • 原文地址:https://www.cnblogs.com/iOStingting/p/4895606.html
Copyright © 2011-2022 走看看