UIActivityItemProvider
Наследование
-
NSObject
-
NSOperation
-
UIActivityItemProvider
-
NSObject
-
NSOperation
-
UIActivityItemProvider
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSObjectProtocol
-
Печатаемый
-
UIActivityItemSource
-
NSObject
-
UIActivityItemSource
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 6.0 и позже.
A UIActivityItemProvider
объект является прокси для данных, переданных контроллеру представления действия. Можно использовать объект провайдера в ситуациях, где Вы хотите сделать доступные данные для использования действием, но Вы хотите задержать предоставление, что данные, пока это не фактически необходимо. Например, Вы могли бы использовать объект провайдера представлять большой видеофайл, который должен быть обработан, прежде чем это сможет быть совместно использовано к учетной записи в социальной сети пользователя.
Когда Вы инициализируете a UIActivityViewController
объект, можно передать объект провайдера в дополнение к любым другим объектам данных. Когда пользователь выбирает действие, контроллер представления действия добавляет Ваш объект провайдера (который является также объектом операции) очереди работы так, чтобы это могло начать собирать или обрабатывать необходимые данные.
Разделение на подклассы примечаний
Необходимо разделить на подклассы UIActivityItemProvider
и реализация item
метод, который вызывают для генерации данных элемента. Вы реализуете этот метод вместо нормального main
метод Вы реализовали бы для объекта операции. ( main
вызовы метода item
метод, когда выполняется объект операции.) Ваша реализация item
метод должен выполнить, любая работа необходима, чтобы создать и возвратить данные.
-
Инициализирует и возвращает объект провайдера с указанными данными заполнителя.
Объявление
Swift
init(placeholderItem
placeholderItem
: AnyObject)Objective C
- (instancetype)initWithPlaceholderItem:(id)
placeholderItem
Параметры
placeholderItem
Объект, который может помочь для фактического объекта, который Вы планируете создать. Содержание объекта может быть пустым, но класс объекта должен соответствовать класс объекта, который Вы планируете обеспечить позже.
Возвращаемое значение
Инициализированный объект провайдера.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
Генерирует и возвращает фактический переносящий данные объект.
Объявление
Swift
func item() -> AnyObject!
Objective C
- (id)item
Обсуждение
Когда фактический переносящий данные объект требуется, этот метод вызывает инфраструктура объекта провайдера. Подклассы должны переопределить этот метод и использовать его для выполнения независимо от того, что работа требуется, чтобы создавать объект и возвращать его. Вы реализуете этот метод вместо нормального
main
метод Вы реализовали бы для объектов операции. Этот метод вызывают на вторичном потоке Вашего приложения.Система не обеспечивает встроенного индикатора хода выполнения, поэтому если генерация элемента может занять много времени, необходимо запланировать обеспечение обратной связи в приложении сами.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
placeholderItem
СвойствоОбъект местозаполнителя Вы указали во время инициализации. (только для чтения)
Объявление
Swift
var placeholderItem: AnyObject! { get }
Objective C
@property(nonatomic, retain, readonly) id placeholderItem
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
activityType
СвойствоТип объекта действия, ожидающего данные. (только для чтения)
Объявление
Swift
var activityType: String? { get }
Objective C
@property(nonatomic, readonly) NSString *activityType
Обсуждение
Значение этого свойства
nil
пока пользователь не выбирает действие. В то время значение установлено, и объект провайдера представлен очереди для выполнения. Таким образом необходимо получить доступ к этому значению только после объектаitem
метод вызывают.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.