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 in
NSLog("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
Параметры
fileURL
URL для файла образа.
Возвращаемое значение
Запрос создания актива.
Обсуждение
Вызовите этот метод в фото блоке изменения библиотеки для создания нового актива. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса 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
Параметры
fileURL
URL для видеофайла.
Возвращаемое значение
Запрос создания актива.
Обсуждение
Вызовите этот метод в фото блоке изменения библиотеки для создания нового актива. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса 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.placeholderForCreatedAsset
let 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!(forAsset
asset
: 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: Bool
Objective C
@property(nonatomic, assign, readwrite, getter=isFavorite) BOOL favorite
Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
hidden
СвойствоБулево значение, указывающее, скрыт ли актив в наборах.
Объявление
Swift
var hidden: Bool
Objective 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 и позже.