PHCollectionListChangeRequest
Оператор импорта
Swift
import Photos
Objective C
@import Photos;
Доступность
Доступный в iOS 8.0 и позже.
Вы создаете и используете PHCollectionListChangeRequest
объекты в фото блоке изменения библиотеки для создания удалите или измените PHCollectionList
объекты.
Для внесения изменений в списки набора (такие как папки, содержащие создаваемые пользователями альбомы) в фото библиотеке, создайте запрос на изменение с помощью надлежащего метода класса для изменения, которое Вы хотите выполнить.
Вызовите
creationRequestForCollectionListWithTitle:
метод для создания нового набора актива.Вызовите
deleteCollectionLists:
метод для удаления существующих наборов актива.Вызовите
changeRequestForCollectionList:
илиchangeRequestForCollectionList:childCollections:
метод для изменения метаданных набора или его списка дочерних наборов.
Прежде, чем создать запрос на изменение, используйте canPerformEditOperation:
метод, чтобы проверить, что набор позволяет работу редактирования, которую Вы запрашиваете. При попытке выполнить неподдерживаемую работу редактирования, фотографии выдает исключение.
Запрос на изменение для создания или изменения набора перечисляет работы как непостоянная версия объекта списка набора. Используйте свойства запроса на изменение и методы экземпляра запросить изменения в самом списке набора. Например, следующий код удаляет альбом из папки:
Swift
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
let request = PHCollectionListChangeRequest(forCollectionList: folder,
childCollections: folderContentsFetchResult)
request.removeChildCollections([album])
}, completionHandler: { success, error in
NSLog("Finished removing album from the folder. %@", (success ? "Success" : error))
})
Objective C
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHCollectionListChangeRequest *request = [PHCollectionListChangeRequest
changeRequestForCollectionList:self.myFolder
childCollections:self.folderContentsFetchResult];
[request removeChildCollections:@[ album ]];
} completionHandler:^(BOOL success, NSError *error) {
NSLog(@"Finished removing album from the folder. %@", (success ? @"Success" : error));
}];
После фото выполнений блок изменения и вызовы Ваш обработчик завершения, состояние списка набора отражает изменения, которые Вы запросили в блоке.
Если Вы создаете или используете объект запроса на изменение вне фото блока изменения библиотеки, фотографии выдает исключение. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса PHPhotoLibrary.
-
Создает запрос на добавление нового списка набора к фото библиотеке.
Объявление
Swift
class func creationRequestForCollectionListWithTitle(_
title
: String!) -> Self!Objective C
+ (instancetype)creationRequestForCollectionListWithTitle:(NSString *)
title
Параметры
title
Имя для нового списка набора.
Возвращаемое значение
Запрос создания списка набора.
Обсуждение
Вызовите этот метод в фото блоке изменения библиотеки для создания нового списка набора. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса PHPhotoLibrary.
Чтобы добавить наборы к недавно создаваемому списку набора или изменить его заголовок, используйте методы, перечисленные в Изменении Списков Набора. Для ссылки на недавно создаваемый список набора набора позже в том же блоке изменения или после, блок изменения завершается, используйте
placeholderForCreatedCollectionList
свойство для получения объекта местозаполнителя.Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
placeholderForCreatedCollectionList
СвойствоОбъект местозаполнителя для списка набора, который создает запрос на изменение. (только для чтения)
Объявление
Swift
var placeholderForCreatedCollectionList: PHObjectPlaceholder! { get }
Objective C
@property(nonatomic, strong, readonly) PHObjectPlaceholder *placeholderForCreatedCollectionList
Обсуждение
Используйте это свойство, если необходимо сослаться на набор, создаваемый запросом на изменение в том же блоке изменения. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса PHPhotoLibrary.
Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
Запросы для удаления указанных наборов актива.
Объявление
Swift
class func deleteCollectionLists(_
collectionLists
: NSFastEnumeration!)Objective C
+ (void)deleteCollectionLists:(id<NSFastEnumeration>)
collectionLists
Параметры
collectionLists
Массив
PHCollectionList
объекты, которые будут удалены.Обсуждение
Вызовите этот метод в фото блоке изменения библиотеки для удаления списков набора. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса PHPhotoLibrary.
Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
Создает запрос на изменение указанного списка набора.
Объявление
Swift
convenience init!(forCollectionList
collectionList
: PHCollectionList!)Objective C
+ (instancetype)changeRequestForCollectionList:(PHCollectionList *)
collectionList
Параметры
collectionList
Список набора, который будет изменен.
Возвращаемое значение
Запрос на изменение списка набора.
Обсуждение
После того, как Вы создаете запрос на изменение в фото блоке изменения библиотеки, предлагаете изменения в заголовке набора или списке дочерних наборов со свойствами и методами экземпляра запроса на изменение. После фото выполнений Ваш блок изменения список набора отражает Ваши изменения. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса PHPhotoLibrary.
Используйте этот метод при изменении метаданных списка набора или при добавлении или удалении дочерних наборов вне зависимости от их расположения. Для работы с индексами в списке дочерних наборов используйте
changeRequestForCollectionList:childCollections:
метод вместо этого.Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
Создает запрос на изменение указанного списка набора, с результатом выборки для отслеживания изменений.
Объявление
Swift
convenience init!(forCollectionList
collectionList
: PHCollectionList!, childCollectionschildCollections
: PHFetchResult!)Objective C
+ (instancetype)changeRequestForCollectionList:(PHCollectionList *)
collectionList
childCollections:(PHFetchResult *)childCollections
Параметры
collectionList
Список набора, который будет изменен.
childCollections
Результат выборки, перечисляющий дочерние наборы в наборе.
Возвращаемое значение
Запрос на изменение списка набора.
Обсуждение
После того, как Вы создаете запрос на изменение в фото блоке изменения библиотеки, предлагаете изменения в заголовке набора или списке дочерних наборов со свойствами и методами экземпляра запроса на изменение. После фото выполнений Ваш блок изменения список набора отражает Ваши изменения. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса PHPhotoLibrary.
Используйте этот метод, когда необходимо будет вставить, удалить или перестроить наборы в указанных индексах в списке набора. Путем передачи в результате выборки, отражающемся, что приложение рассматривает как текущее состояние членства набора, фото платформа может гарантировать, что индексы, которые Вы указываете, допустимы, даже если набор изменился, так как Вы в последний раз выбрали его. Если Вы не должны работать с индексами в списке дочерних наборов, можно использовать
changeRequestForCollectionList:
метод вместо этого.Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
title
СвойствоВыведенное на экран имя списка набора.
Объявление
Swift
var title: String!
Objective C
@property(nonatomic, strong, readwrite) NSString *title
Обсуждение
Установите это свойство для изменения заголовка списка набора.
Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
Добавьте указанные наборы как дочерние элементы списка набора.
Объявление
Swift
func addChildCollections(_
collections
: NSFastEnumeration!)Objective C
- (void)addChildCollections:(id<NSFastEnumeration>)
collections
Параметры
collections
Массив
PHCollection
объекты (наборы актива или другие списки набора), чтобы быть добавленным к списку набора.Обсуждение
Если Вы создали запрос на изменение со снимком содержания списка набора с помощью
changeRequestForCollectionList:childCollections:
метод, фотографии вводят новые дочерние элементы после существующих дочерних наборов в списке набора. Иначе, расположение новых дочерних элементов относительно других в наборе не определено.Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
Вставляет указанные наборы в список набора в указанных индексах.
Объявление
Swift
func insertChildCollections(_
collections
: NSFastEnumeration!, atIndexesindexes
: NSIndexSet!)Objective C
- (void)insertChildCollections:(id<NSFastEnumeration>)
collections
atIndexes:(NSIndexSet *)indexes
Параметры
collections
Массив
PHCollection
объекты (наборы актива или другие списки набора), чтобы быть вставленным в список набора.indexes
Индексы, в которых должны быть вставлены наборы. Количество расположений в этом индексном наборе должно равняться количеству наборов.
Обсуждение
Чтобы гарантировать, что индекс установил Вас, указывают, допустимо, даже если список набора изменился, так как Вы выбрали его, создайте запрос на изменение со снимком содержания списка набора с помощью
changeRequestForCollectionList:childCollections:
метод прежде, чем вставить дочерние наборы.Для детального обсуждения того, как индекс установил Вас, укажите карты к вставкам в списке набора, посмотрите подобное
NSMutableArray
методinsertObjects:atIndexes:
.Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
Удаляет указанные дочерние наборы из списка набора.
Объявление
Swift
func removeChildCollections(_
collections
: NSFastEnumeration!)Objective C
- (void)removeChildCollections:(id<NSFastEnumeration>)
collections
Параметры
collections
Массив
PHCollection
объекты (наборы актива или другие списки набора), чтобы быть удаленным из списка набора.Обсуждение
Этот метод удаляет дочерние наборы из списка набора на основе их идентификационных данных (определенный
localIdentifier
свойство каждого набора). Для удаления объектов в указанных индексах используйтеremoveChildCollectionsAtIndexes:
метод.Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
Удаляет дочерние наборы в указанных индексах из списка набора.
Объявление
Swift
func removeChildCollectionsAtIndexes(_
indexes
: NSIndexSet!)Objective C
- (void)removeChildCollectionsAtIndexes:(NSIndexSet *)
indexes
Параметры
indexes
Индексы дочерних наборов, которые будут удалены из списка набора.
Обсуждение
Чтобы гарантировать, что индекс установил Вас, указывают, допустимо, даже если список набора изменился, так как Вы выбрали его, создайте запрос на изменение со снимком содержания списка набора с помощью
changeRequestForCollectionList:childCollections:
метод прежде, чем удалить дочерние наборы. Для удаления объектов на основе их идентификационных данных (вне зависимости от их индексов в наборе) используйтеremoveChildCollections:
метод.Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
replaceChildCollectionsAtIndexes (_: withChildCollections:) - replaceChildCollectionsAtIndexes:withChildCollections:
Заменяет дочерние наборы в указанных индексах в списке набора с указанными наборами.
Объявление
Swift
func replaceChildCollectionsAtIndexes(_
indexes
: NSIndexSet!, withChildCollectionscollections
: NSFastEnumeration!)Objective C
- (void)replaceChildCollectionsAtIndexes:(NSIndexSet *)
indexes
withChildCollections:(id<NSFastEnumeration>)collections
Параметры
indexes
Индексы дочерних наборов, которые будут заменены в списке набора.
collections
Массив
PHCollection
объекты (наборы актива или другие списки набора), чтобы быть вставленным в (или перемещенным в) список набора.Обсуждение
Чтобы гарантировать, что индекс установил Вас, указывают, допустимо, даже если список набора изменился, так как Вы выбрали его, создайте запрос на изменение со снимком содержания списка набора с помощью
changeRequestForCollectionList:childCollections:
метод прежде, чем перестроить дочерние наборы.Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.
-
Перемещает дочерние наборы в указанные индексы в списке набора к новому индексу.
Объявление
Swift
func moveChildCollectionsAtIndexes(_
indexes
: NSIndexSet!, toIndextoIndex
: Int)Objective C
- (void)moveChildCollectionsAtIndexes:(NSIndexSet *)
indexes
toIndex:(NSUInteger)toIndex
Параметры
indexes
Индексы дочерних наборов, которые будут перемещены в список набора.
toIndex
Индекс, в котором можно поместить перемещенные дочерние наборы относительно упорядочивания списка набора после удаления элементов в
indexes
.Обсуждение
Когда Вы вызываете этот метод, фотографии сначала удаляет элементы в
indexes
параметр от набора, и затем вставляет их в расположении, указанномtoIndex
параметр.Чтобы гарантировать, что индекс установил Вас, указывают, допустимо, даже если список набора изменился, так как Вы выбрали его, создайте запрос на изменение со снимком содержания списка набора с помощью
changeRequestForCollectionList:childCollections:
метод прежде, чем перестроить дочерние наборы.Оператор импорта
Objective C
@import Photos;
Swift
import Photos
Доступность
Доступный в iOS 8.0 и позже.