PHAssetChangeRequest
Оператор импорта
Swift
import Photos
Objective C
@import Photos;
Доступность
Доступный в iOS 8.0 и позже.
Вы создаете и используете PHAssetChangeRequest объекты в фото блоке изменения библиотеки для создания удалите или измените PHAsset объекты.
Для внесения изменений в активы в фото библиотеке создайте запрос на изменение при помощи надлежащего метода класса для изменения, которое Вы хотите выполнить.
Вызовите один из методов, перечисленных в Добавлении Новых Активов для создания нового актива из файла образа или видеофайла.
Вызовите
deleteAssets:метод для удаления существующих активов.Вызовите
changeRequestForAsset:метод для изменения содержания или метаданных актива.
Запрос на изменение для создания или изменения актива работает как непостоянная версия объекта актива. Используйте свойства запроса на изменение для запроса изменений в соответствующих свойствах самого актива. Например, следующий код использует favorite свойство запроса на изменение для маркировки актива как фаворита:
Swift
func toggleFavoriteForAsset(asset: PHAsset) {PHPhotoLibrary.sharedPhotoLibrary().performChanges({// Create a change request from the asset to be modified.let request = PHAssetChangeRequest(forAsset: asset)// Set a property of the request to change the asset itself.request.favorite = !asset.favorite}, completionHandler: { success, error inNSLog("Finished updating asset. %@", (success ? "Success." : error))})}
Objective C
- (void)toggleFavoriteForAsset:(PHAsset *)asset {[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{// Create a change request from the asset to be modified.PHAssetChangeRequest *request = [PHAssetChangeRequest changeRequestForAsset:asset];// Set a property of the request to change the asset itself.request.favorite = !asset.favorite;} completionHandler:^(BOOL success, NSError *error) {NSLog(@"Finished updating asset. %@", (success ? @"Success." : error));}];}
После фото выполнений блок изменения и вызовы Ваш обработчик завершения, состояние актива отражает изменения, которые Вы запросили в блоке.
Если Вы создаете или используете объект запроса на изменение вне фото блока изменения библиотеки, фотографии выдает исключение. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса PHPhotoLibrary.
-
Создает запрос на добавление нового актива изображения к фото библиотеке.
Объявление
Swift
class func creationRequestForAssetFromImage(_image: UIImage!) -> Self!Objective C
+ (instancetype)creationRequestForAssetFromImage:(UIImage *)imageПараметры
imageИзображение.
Возвращаемое значение
Запрос создания актива.
Обсуждение
Вызовите этот метод в фото блоке изменения библиотеки для создания нового актива. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса PHPhotoLibrary.
Для установки свойств метаданных недавно создаваемого актива используйте соответствующие свойства запроса на изменение (перечисленный в Изменении Активов). Для ссылки на недавно создаваемый актив позже в том же блоке изменения или после, блок изменения завершается, используйте
placeholderForCreatedAssetсвойство для получения объекта местозаполнителя.Оператор импорта
Objective C
@import Photos;Swift
import PhotosДоступность
Доступный в iOS 8.0 и позже.
-
Создает запрос на добавление нового актива изображения к фото библиотеке, с помощью файла образа в указанном URL.
Объявление
Swift
class func creationRequestForAssetFromImageAtFileURL(_fileURL: NSURL!) -> Self!Objective C
+ (instancetype)creationRequestForAssetFromImageAtFileURL:(NSURL *)fileURLПараметры
fileURLURL для файла образа.
Возвращаемое значение
Запрос создания актива.
Обсуждение
Вызовите этот метод в фото блоке изменения библиотеки для создания нового актива. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса PHPhotoLibrary.
Для установки свойств метаданных недавно создаваемого актива используйте соответствующие свойства запроса на изменение (перечисленный в Изменении Активов). Для ссылки на недавно создаваемый актив позже в том же блоке изменения или после, блок изменения завершается, используйте
placeholderForCreatedAssetсвойство для получения объекта местозаполнителя.Оператор импорта
Objective C
@import Photos;Swift
import PhotosДоступность
Доступный в iOS 8.0 и позже.
-
Создает запрос на добавление нового видео актива к фото библиотеке, с помощью видеофайла в указанном URL.
Объявление
Swift
class func creationRequestForAssetFromVideoAtFileURL(_fileURL: NSURL!) -> Self!Objective C
+ (instancetype)creationRequestForAssetFromVideoAtFileURL:(NSURL *)fileURLПараметры
fileURLURL для видеофайла.
Возвращаемое значение
Запрос создания актива.
Обсуждение
Вызовите этот метод в фото блоке изменения библиотеки для создания нового актива. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса PHPhotoLibrary.
Для установки свойств метаданных недавно создаваемого актива используйте соответствующие свойства запроса на изменение (перечисленный в Изменении Активов). Для ссылки на недавно создаваемый актив позже в том же блоке изменения или после, блок изменения завершается, используйте
placeholderForCreatedAssetсвойство для получения объекта местозаполнителя.Оператор импорта
Objective C
@import Photos;Swift
import PhotosДоступность
Доступный в iOS 8.0 и позже.
-
placeholderForCreatedAssetСвойствоОбъект местозаполнителя для актива, который создает запрос на изменение. (только для чтения)
Объявление
Swift
var placeholderForCreatedAsset: PHObjectPlaceholder! { get }Objective C
@property(nonatomic, strong, readonly) PHObjectPlaceholder *placeholderForCreatedAssetОбсуждение
Используйте это свойство, если необходимо сослаться на актив, создаваемый запросом на изменение в том же блоке изменения. Например, следующий код, когда включено в фото блок изменения библиотеки, создает актив и затем добавляет его к набору:
Swift
let createAssetRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(image)let assetPlaceholder = createAssetRequest.placeholderForCreatedAssetlet albumChangeRequest = PHAssetCollectionChangeRequest(forAssetCollection: album)albumChangeRequest.addAssets([assetPlaceholder])
Objective C
PHAssetChangeRequest *createAssetRequest = [PHAssetChangeRequest creationRequestForAssetFromImage:image];PHObjectPlaceholder *assetPlaceholder = createAssetRequest.placeholderForCreatedAsset;PHAssetCollectionChangeRequest *albumChangeRequest =[PHAssetCollectionChangeRequest changeRequestForAssetCollection:album];[albumChangeRequest addAssets:@[ assetPlaceholder ]];
Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса PHPhotoLibrary.
Оператор импорта
Objective C
@import Photos;Swift
import PhotosДоступность
Доступный в iOS 8.0 и позже.
-
Запросы, что указанные активы быть удаленным.
Объявление
Swift
class func deleteAssets(_assets: NSFastEnumeration!)Objective C
+ (void)deleteAssets:(id<NSFastEnumeration>)assetsПараметры
assetsМассив
PHAssetобъекты, которые будут удалены.Обсуждение
Вызовите этот метод в фото блоке изменения библиотеки для удаления активов. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса PHPhotoLibrary.
Оператор импорта
Objective C
@import Photos;Swift
import PhotosДоступность
Доступный в iOS 8.0 и позже.
-
Создает запрос на изменение указанного актива.
Объявление
Swift
convenience init!(forAssetasset: PHAsset!)Objective C
+ (instancetype)changeRequestForAsset:(PHAsset *)assetПараметры
assetАктив, который будет изменен.
Возвращаемое значение
Запрос на изменение актива.
Обсуждение
Прежде, чем отредактировать актив, используйте
canPerformEditOperation:метод, чтобы видеть, позволяет ли актив редактировать.После того, как Вы создаете запрос на изменение в фото блоке изменения библиотеки, предлагаете изменения в свойствах исходного актива путем установки соответствующих свойств запроса на изменение. После фото выполнений Ваш блок изменения свойства актива отражают Ваши изменения. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса PHPhotoLibrary.
Для редактирования содержимого изображения актива или видеоконтента сначала начните довольное сеанс редактирования с актива
requestContentEditingInputWithOptions:completionHandler:метод. Вы фиксируете довольное редактирование путем установкиcontentEditingOutputсвойство запроса на изменение в блоке изменения. Для получения дополнительной информации о редактировании содержания актива, см. Ссылку класса PHAsset.Оператор импорта
Objective C
@import Photos;Swift
import PhotosДоступность
Доступный в iOS 8.0 и позже.
-
creationDateСвойствоДата и время, в которой актив утверждает, что был первоначально создан.
Объявление
Swift
var creationDate: NSDate!Objective C
@property(nonatomic, strong, readwrite) NSDate *creationDateОбсуждение
Установите это свойство для изменения даты создания актива.
Оператор импорта
Objective C
@import Photos;Swift
import PhotosДоступность
Доступный в iOS 8.0 и позже.
-
locationСвойствоИнформация расположения сохранена с активом.
Объявление
Swift
var location: CLLocation!Objective C
@property(nonatomic, strong, readwrite) CLLocation *locationОбсуждение
Как правило, метаданные расположения актива идентифицируют место, где был получен актив. Используйте это свойство для обеспечения различного расположения.
Оператор импорта
Objective C
@import Photos;Swift
import PhotosДоступность
Доступный в iOS 8.0 и позже.
-
favoriteСвойствоБулево значение, указывающее, отмечен ли актив как одно из избранного пользователя.
Объявление
Swift
var favorite: BoolObjective C
@property(nonatomic, assign, readwrite, getter=isFavorite) BOOL favoriteОператор импорта
Objective C
@import Photos;Swift
import PhotosДоступность
Доступный в iOS 8.0 и позже.
-
hiddenСвойствоБулево значение, указывающее, скрыт ли актив в наборах.
Объявление
Swift
var hidden: BoolObjective C
@property(nonatomic, assign, readwrite, getter=isHidden) BOOL hiddenОбсуждение
Скрытые активы не появляются в интерфейсе Moments в фото приложении.
Оператор импорта
Objective C
@import Photos;Swift
import PhotosДоступность
Доступный в iOS 8.0 и позже.
-
contentEditingOutputСвойствоВывод содержания актива редактирование сеанса.
Объявление
Swift
var contentEditingOutput: PHContentEditingOutput!Objective C
@property(nonatomic, strong, readwrite) PHContentEditingOutput *contentEditingOutputОбсуждение
Для редактирования image актива или видеоконтента необходимо сначала начать довольное сеанс редактирования с актива
requestContentEditingInputWithOptions:completionHandler:метод. Вы фиксируете довольное редактирование путем установкиcontentEditingOutputсвойство запроса на изменение в блоке изменения. Для получения дополнительной информации о редактировании содержания актива, см. Ссылку класса PHAsset.Оператор импорта
Objective C
@import Photos;Swift
import PhotosДоступность
Доступный в iOS 8.0 и позже.
-
Запрос для возвращения любых редактирований, сделанных к содержанию актива.
Объявление
Swift
func revertAssetContentToOriginal()Objective C
- (void)revertAssetContentToOriginalОбсуждение
Когда актив был отредактирован, фотографии хранит многократные версии актива: исходная версия актива, поскольку это было сначала получено или импортировано, и ввод и вывод нового редактирования. (Вы работаете с версиями актива, когда запрос отредактировать содержание актива — видит Ссылку класса PHContentEditingInputRequestOptions.) Вызывают этот метод для возвращения к исходной версии актива, отбрасывая все редактирования.
Оператор импорта
Objective C
@import Photos;Swift
import PhotosДоступность
Доступный в iOS 8.0 и позже.
