Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы основы ссылка класса NSProxy

Опции
Развертывание Target:

На этой странице
Язык:

NSProxy

NSProxy абстрактный суперкласс, определяющий API для объектов, действующих как заместители для других объектов или для объектов, еще не существующих. Как правило, сообщение к прокси передается к реальному объекту или заставляет прокси загружать (или преобразовывать себя в) реальный объект. Подклассы NSProxy может использоваться для реализации прозрачного распределенного обмена сообщениями (например, NSDistantObject) или для ленивого инстанцирования объектов, которые являются дорогими для создания.

NSProxy реализует основные методы, требуемые корневого класса, включая определенных в NSObject протокол. Однако как абстрактный класс это не обеспечивает метод инициализации, и это повышает исключение после получения любого сообщения, на которое это не отвечает. Конкретный подкласс должен поэтому обеспечить инициализацию или метод создания и переопределить forwardInvocation: и methodSignatureForSelector: методы для обработки сообщений, что это не реализует себя. Реализация подкласса forwardInvocation: должен сделать то, что необходимо для обработки вызова, такого как передача вызова по сети или загрузке реального объекта и передаче его вызов. methodSignatureForSelector: требуется, чтобы предоставлять информацию типа аргумента для данного сообщения; реализация подкласса должна быть в состоянии определить типы аргумента для сообщений, которые она должна передать и должна создать NSMethodSignature возразите соответственно. Посмотрите NSDistantObject, NSInvocation, и NSMethodSignature спецификации класса для получения дополнительной информации.

Наследование


Соответствует


Оператор импорта


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.0 и позже.
  • Возвращает новый экземпляр класса получения

    Объявление

    Swift

    class func alloc() -> Self!

    Objective C

    + (id)alloc

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает новый экземпляр класса получения

    Объявление

    Objective C

    + (id)allocWithZone:(NSZone *)zone

    Возвращаемое значение

    Новый экземпляр класса получения, как описано в NSObject спецификация класса под allocWithZone: метод класса.

    Оператор импорта

    Objective C

    @import Foundation;

    Доступность

    Доступный в OS X v10.0 и позже.

  • Освобождает память, занятую получателем.

    Объявление

    Swift

    func dealloc()

    Objective C

    - (void)dealloc

    Обсуждение

    Этот метод ведет себя, как описано в NSObject спецификация класса под dealloc метод экземпляра.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – завершить

  • Сборщик «мусора» вызывает этот метод на получатель перед избавлением от памяти, которую это использует.

    Объявление

    Swift

    func finalize()

    Objective C

    - (void)finalize

    Обсуждение

    Этот метод ведет себя, как описано в NSObject спецификация класса под finalize метод экземпляра. Обратите внимание на то, что a finalize метод должен быть ориентирован на многопотоковое исполнение.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

    См. также

    – dealloc

  • Передает данный вызов реальному объекту, который представляет прокси.

    Объявление

    Swift

    func forwardInvocation(_ anInvocation: NSInvocation)

    Objective C

    - (void)forwardInvocation:(NSInvocation *)anInvocation

    Параметры

    anInvocation

    Вызов для передачи.

    Обсуждение

    NSProxyреализация просто повышает NSInvalidArgumentException. Переопределите этот метод в своем подклассе для обработки anInvocation соответственно, по крайней мере путем установки его возвращаемого значения.

    Например, если Ваш прокси просто передает сообщения к названной переменной экземпляра realObject, это может реализовать forwardInvocation: как это:

    • - (void)forwardInvocation:(NSInvocation *)anInvocation
    • {
    • [anInvocation setTarget:realObject];
    • [anInvocation invoke];
    • return;
    • }

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Повышения NSInvalidArgumentException. Переопределите этот метод в своем конкретном подклассе для возврата надлежащего NSMethodSignature объект для данного селектора и класса Ваши объекты прокси помогает для.

    Объявление

    Objective C

    - (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector

    Параметры

    aSelector

    Селектор, для которого можно возвратить сигнатуру метода.

    Возвращаемое значение

    Не применимый. Реализация, предоставленная NSProxy повышает исключение.

    Обсуждение

    Обязательно избегите бесконечного цикла при необходимости путем проверки этого aSelector не селектор для этого метода самого и не отправляя сообщения, которое могло бы вызвать этот метод.

    Например, если Ваш прокси просто передает сообщения к названной переменной экземпляра realObject, это может реализовать methodSignatureForSelector: как это:

    • (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
    • {
    • return [realObject methodSignatureForSelector:aSelector];
    • }

    Оператор импорта

    Objective C

    @import Foundation;

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    methodSignatureForSelector: (NSObject)

  • Возвращает булево значение, указывающее, реагирует ли класс получения на данный селектор.

    Объявление

    Swift

    class func respondsToSelector(_ aSelector: Selector) -> Bool

    Objective C

    + (BOOL)respondsToSelector:(SEL)aSelector

    Параметры

    aSelector

    Селектор.

    Возвращаемое значение

    YEStrue если класс получения отвечает на aSelector сообщения, иначе NOfalse.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвраты self (объект класса).

    Объявление

    Swift

    class func `class`() -> AnyClass

    Objective C

    + (Class)class

    Возвращаемое значение

    self. Поскольку это - метод класса, он возвращает объект класса

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    class (NSObject)
    class (NSObject протокол)

  • Строка, содержащая реальное имя класса и ID получателя как шестнадцатеричное число. (только для чтения)

    Объявление

    Swift

    var description: String { get }

    Objective C

    @property(readonly, copy) NSString *description

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Строка, содержащая реальное имя класса и ID получателя как шестнадцатеричное число. (только для чтения)

    Объявление

    Swift

    var debugDescription: String { get }

    Objective C

    @property(readonly, copy) NSString *debugDescription

    Обсуждение

    Это позволяет этот метод, объявленный NSObject протокол, который будет реализован в классах разработчика, не заставляя проблему быть отмеченным в iOS и хранилищах приложения Mac, где иначе это могло бы быть похожим на разработчика, переопределяет закрытый метод в Основе.

    Реализация этого метода является дополнительной, так убедиться протестировать на его существование прежде, чем попытаться вызвать его.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.8 и позже.