1. 程式人生 > >照片儲存到相簿,並新增到自定義相簿中

照片儲存到相簿,並新增到自定義相簿中

-(void)addAssetURL:(NSURL*)assetURL toAlbum:(NSString*)albumName withCompletionBlock:(SaveImageCompletion)completionBlock
{
    //相簿存在標示
    __block BOOL albumWasFound = NO;
    
    ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init];
    //search all photo albums in the library
    [assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAlbum usingBlock:^(ALAssetsGroup *group, BOOL *stop)
     {
         
         //判斷相簿是否存在
         if ([albumName compare: [group valueForProperty:ALAssetsGroupPropertyName]]==NSOrderedSame) {
             
             //存在
             albumWasFound = YES;
             
             //get a hold of the photo's asset instance
             [assetsLibrary assetForURL: assetURL
                            resultBlock:^(ALAsset *asset) {
                                
                                //add photo to the target album
                                [group addAsset: asset];
                                
                                //run the completion block
                                completionBlock(nil);
                                
                            } failureBlock: completionBlock];
             return;
         }
         
         //如果不存在該相簿建立
         if (group==nil && albumWasFound==NO)
         {
             __weak ALAssetsLibrary* weakSelf = assetsLibrary;
             
             //建立相簿
             [assetsLibrary addAssetsGroupAlbumWithName:albumName resultBlock:^(ALAssetsGroup *group)
              {
                  
                  //get the photo's instance
                  [weakSelf assetForURL: assetURL
                            resultBlock:^(ALAsset *asset)
                   {
                       
                       //add photo to the newly created album
                       [group addAsset: asset];
                       
                       //call the completion block
                       completionBlock(nil);
                       
                   } failureBlock: completionBlock];
                  
              } failureBlock: completionBlock];
             return;
         }
         
     }failureBlock:completionBlock];
}

程式碼來著QQ群群友分享,感謝分享~

相關推薦

照片儲存相簿新增定義相簿

-(void)addAssetURL:(NSURL*)assetURL toAlbum:(NSString*)albumName withCompletionBlock:(SaveImageCompletion)completionBlock { //相簿存在標

as3定義選單定義選單項新增事件

package{import flash.display.Sprite;import flash.events.MouseEvent;import flash.ui.ContextMenu;import flash.ui.ContextMenuItem;import fla

Android 應用互調的實現新增定義許可權進行安全防護

最近在做一個安全漏洞修復的工作,場景是A應用必須由B應用調起,由於涉及到元件暴露所以我們需要考慮安全的問題,最後添加了自定義許可權進行解決。 一、A應用 作為被調起者,需要暴露元件給B應用。所以A的清單檔案中要新增自定義許可權(注意:這裡的許可權級別至少是signature或者signatu

Android 去除Button預設陰影效果新增定義陰影

1、首先先說一下預設的陰影效果 // Java setStateListAnimator(null); // xml android:stateListAnimator="@null" 2、自定義陰影實現的方式有很多種 a、將Button分層,將兩層的背景區分開就OK,但

【unity學習】利用winmm.dll讀取JoyStick的搖桿情況與按鍵情況可以定義繫結函式

目錄 目錄 概述 整體程式碼 詳細說明 結語 概述 因為專案的原因,需要對方向盤、搖桿的資料進行讀取與使用。購買的是市面上比較一般的搖桿,沒有什麼API之類的供開發使用,所以自己寫了兩個指令碼,用來控制和讀取資料。還有很多不足,為了防止之後忘了~不對的地

nexus 私服搭建配置定義的jar釋出到私服

一、前言   為什麼要在本地開發機器上安裝nexus?首先宣告公司內部是有自己的nexus倉庫,但是對上傳jar包做了限制,不能暢快的上傳自己測試包依賴。於是就自己在本地搭建了一個nexus私服,即可以使用公司nexus私服倉庫中的依賴,也可以上傳和使用自己的測試包依賴。 二、nexus下載

Ftp上傳下載檔案定義進度條展示(FtpClient)

前一段時間,自己寫了一個java專案釋出在一個免費的java平臺上但是該平臺給專案的是虛擬路徑並不能上傳檔案。後來想到應用ftp作為上傳檔案的儲存器。 ftp上傳的工具類有sun(sun.net.*)和apache(org.apache.commons.net.ftp.* 

sql server 裡如何取得伺服器的日期和時間定義的格式插入資料庫?

使用 CONVERT: CONVERT (data_type[(length)], expression [, style]) 引數expression 是任何有效的 Microsoft® SQL Server™ 表示式。有關更多資訊,請參

Spring Boot應用連線資料庫MySQL編寫定義SQL

1、修改pom.xml檔案 在專案的pom.xml檔案上增加如下程式碼,新增依賴檔案。 <dependency> <groupId>mysql</groupI

如何設定視訊影象視窗大小新增定義View

Vuforia預設的視訊是全屏的,可能你的應用中需要控制視訊的大小,並且需要新增自定義的View在圖一個介面中。 在例子工程中有下面這個包: com.qualcomm.vuforia.samples.SampleApplication,這個包裡有三個類: SampleApp

基於jupyter lab搭建網頁程式設計環境新增定義python kernel和matlab kernel以及plotly的使用

> 內容轉載自[我的部落格](https://blog.whuzfb.cn/blog/2020/08/02/install_jupyter_lab/) [TOC] ## 說明 即使該系統有使用者`zfb`、`root`、`test`、`ubuntu`等,下面介紹的步驟隻影響本使用者,既不需要`roo

hibernate 使用普通sql查詢對映到定義pojo

public List<InsuranceRecordVo> getCustomRecodeListByCustomId2(String customId){ String sql="

建立新標籤新增到文件的方法

js  中建立一個 新標籤 用到方法:   例如:<a id="baidu" class="link" href="http://www.baidu.com" name="baidu">這是一個連結</a> 程式碼示例: <script&g

前端標籤新增定義標籤取值

例如:<button id='delBtn'>按鈕</button> 新增自定義屬性:$("#delBtn").attr('data-id','24'); 取出屬性值:var id = $("#delBtn").attr("data-id");   

com4j學習(2):Visio定義模具和形狀新增連線點

前言: 既然我們想繪製跟自己業務相關的圖形,並讀取Visio圖形中的結構資訊,那麼我們自然會想到要自定義圖形,本文詳細講解如何自定義圖形。 正文: 首先我們要明白什麼是模具,什麼是形狀,以及兩者之間的關係?模具就相當於一個容器,裡面有很多個形狀,我們可

iOS uitableview定義相簿(實現拍照儲存在指定目錄以相簿的形式展示圖片)

原理: 圖片的展示是通過uitableview實現。照片的展示以及選擇(uitableviewce’l’l)是通過倆個uibutton的疊加完成。通過設定每個uibutton的tag,並在viewcontroller中實現cell的delegate來實現對ui

iOS圖片處理(一)呼叫系統相機和相簿獲取圖片給相機新增定義覆蓋物

[摘要:起首,拍照或從相簿挑選照片須要應用 UIImagePickerController,應用時須要增加兩個協定 #import UIKit/UIKit.h @interface ViewContr

給EditCtrl新增定義選單實現CopyCut和Paste功能

首先自定義一個類CEditCtrl,該類繼承與CEdit。在類中新增OnContextMenu(CWnd*, CPoint); void CEdit::OnContextMenu(CWnd*, CPoint) { CMenu Menu; Menu.Lo

vue $emit子元件傳出多個引數如何在父元件在接收所有引數的同時新增定義引數

前言 很多時候用$emit攜帶引數傳出事件,並且又需要在父元件中使用自定義引數時,這時我們就無法接受到子元件傳出的引數了。找到了兩種方法可以同時新增自定義引數的方法。 方法一 子元件傳出單個引數時: // 子元件 this.$emit('test',this.param) // 父元件 @test=

zabbix新增定義監控使用本地使用者傳送報警郵件

需求說明 監控httpd的程序,並使用本地使用者傳送郵件 操作環境 zabbix服務端和客戶端均配置完成並可以正常使用,服務端安裝mailx不需要修改配置檔案 zabbix配置服務端和客戶端並新增監控 操作步驟 客戶端 ①.建立自定義監控的指令