最近公司的項(xiàng)目要做一個(gè)草稿箱功能,里面有照片,該怎么保存照片呢,當(dāng)然保存圖片的URL路徑。
1、相冊的照片,拿到照片的時(shí)候就可以拿到相應(yīng)的路徑
2、拍照的照片,可以拿到照片,但沒有返回路徑,怎么辦呢。后面發(fā)現(xiàn)我們自己調(diào)用相機(jī)拍的照片要自己保存到相冊的,一番嘗試之后,發(fā)現(xiàn)有個(gè)方法可以滿足我們的需求如下:
3、這個(gè)很好做,哪怎么從URL拿到相應(yīng)的照片呢。通過ALAsset,先拿到ALAsset對象,再由這個(gè)對象去拿到對應(yīng)的照片。ALAssetsLibrary這個(gè)類下有相應(yīng)的方法:
4、前面都還順利,但到后面實(shí)際用時(shí),發(fā)現(xiàn)拿到的照片一直為nil,難道是方法不可用,但方法是一步步打印驗(yàn)證的,問題出在哪兒呢。后面經(jīng)過一系列驗(yàn)證,發(fā)現(xiàn)是獲取ALAsset對象的ALAssetsLibrary對象銷毀后,ALAsset對象就也會自動(dòng)銷毀,強(qiáng)持有ALAsset對象也不行,后面嘗試創(chuàng)建一個(gè)用static修飾的ALAssetsLibrary對象后,就沒有問題了。
PS:第一次寫不知道,沒有用markdown,不好意思,有意向交流的可以加我QQ:994413754 。
更新于2018年3月30日。
第四步的主要代碼如下圖:
下圖來源:iOS編程小技巧