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 inNSLog("Finished removing album from the folder. %@", (success ? "Success" : error))})
Objective C
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{PHCollectionListChangeRequest *request = [PHCollectionListChangeRequestchangeRequestForCollectionList:self.myFolderchildCollections: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!(forCollectionListcollectionList: PHCollectionList!)Objective C
+ (instancetype)changeRequestForCollectionList:(PHCollectionList *)collectionListПараметры
collectionListСписок набора, который будет изменен.
Возвращаемое значение
Запрос на изменение списка набора.
Обсуждение
После того, как Вы создаете запрос на изменение в фото блоке изменения библиотеки, предлагаете изменения в заголовке набора или списке дочерних наборов со свойствами и методами экземпляра запроса на изменение. После фото выполнений Ваш блок изменения список набора отражает Ваши изменения. Для получения дополнительной информации на блоках изменения, посмотрите Ссылку класса PHPhotoLibrary.
Используйте этот метод при изменении метаданных списка набора или при добавлении или удалении дочерних наборов вне зависимости от их расположения. Для работы с индексами в списке дочерних наборов используйте
changeRequestForCollectionList:childCollections:метод вместо этого.Оператор импорта
Objective C
@import Photos;Swift
import PhotosДоступность
Доступный в iOS 8.0 и позже.
-
Создает запрос на изменение указанного списка набора, с результатом выборки для отслеживания изменений.
Объявление
Swift
convenience init!(forCollectionListcollectionList: PHCollectionList!, childCollectionschildCollections: PHFetchResult!)Objective C
+ (instancetype)changeRequestForCollectionList:(PHCollectionList *)collectionListchildCollections:(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>)collectionsatIndexes:(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 *)indexeswithChildCollections:(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 *)indexestoIndex:(NSUInteger)toIndexПараметры
indexesИндексы дочерних наборов, которые будут перемещены в список набора.
toIndexИндекс, в котором можно поместить перемещенные дочерние наборы относительно упорядочивания списка набора после удаления элементов в
indexes.Обсуждение
Когда Вы вызываете этот метод, фотографии сначала удаляет элементы в
indexesпараметр от набора, и затем вставляет их в расположении, указанномtoIndexпараметр.Чтобы гарантировать, что индекс установил Вас, указывают, допустимо, даже если список набора изменился, так как Вы выбрали его, создайте запрос на изменение со снимком содержания списка набора с помощью
changeRequestForCollectionList:childCollections:метод прежде, чем перестроить дочерние наборы.Оператор импорта
Objective C
@import Photos;Swift
import PhotosДоступность
Доступный в iOS 8.0 и позже.
