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

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

Разработчик

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

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

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

NSMethodSignature

NSMethodSignature записи объекта вводят информацию для параметров и возвращаемого значения метода. Это используется для передачи сообщений, что принимающий объект не отвечает на — прежде всего в случае распределенных объектов. Вы обычно создаете NSMethodSignature объектное использование NSObject methodSignatureForSelector: метод экземпляра (на OS X v10.5 и позже можно также использовать signatureWithObjCTypes:). Это тогда используется для создания NSInvocation объект, передающийся как параметр a forwardInvocation: сообщение для пересылки вызова к тому, что другой объект может обработать сообщение. В случае по умолчанию, NSObject вызывает doesNotRecognizeSelector:, который повышает исключение. Для распределенных объектов, NSInvocation объект кодируется с помощью информации в NSMethodSignature возразите и отправленный в реальный объект, представленный получателем сообщения.

NSMethodSignature возразите представляет его типы аргумента индексом с getArgumentTypeAtIndex: метод. Скрытые параметры за каждый метод, self и _cmd, в индексах 0 и 1, соответственно. Параметры, обычно указанные в вызове сообщения, следуют за ними. В дополнение к типам аргумента, NSMethodSignature возразите предлагает общее количество параметров с numberOfArguments, общая длина стекового фрейма, занятая всеми параметрами frameLength (это меняется в зависимости от аппаратной архитектуры), и длина и тип возвращаемого значения с methodReturnLength и methodReturnType. Наконец, приложения с помощью распределенных объектов могут определить, является ли метод асинхронным с isOneway метод.

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


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


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


Не применимый

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.0 и позже.
  • Возвраты NSMethodSignature объект для данной строки типа метода Objective C.

    Объявление

    Objective C

    + (NSMethodSignature *)signatureWithObjCTypes:(const char *)types

    Параметры

    types

    Массив символов, содержащих кодировки типа для аргументов метода.

    Индексы начинаются 0. Скрытые параметры self (идентификатора типа) и _cmd (типа SEL), в индексах 0 и 1; специфичные для метода параметры начинаются в индексе 2.

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

    NSMethodSignature объект для поданной строки типа метода Objective C types.

    Обсуждение

    Специальные замечания

    Этот метод, доступный начиная с OS X v10.0, представлен в OS X v10.5. Только введите строки кодирования стиля времени выполнения, против которого работает приложение, поддерживаются. В представлении этого метода нет никакой приверженности двоичному файлу, совместимо поддерживающему строки кодирования типа «старого стиля» после того, как произойдут такие изменения.

    Именно Ваша ответственность передать в строках типа или от текущих данных во время выполнения или соответствует стиль строки типа в использовании ко времени выполнения, на котором работает приложение.

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

    Objective C

    @import Foundation;

    Доступность

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

  • Возвращает кодирование типа для параметра в данном индексе.

    Объявление

    Objective C

    - (const char *)getArgumentTypeAtIndex:(NSUInteger)index

    Параметры

    index

    Индекс параметра для получения.

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

    Кодирование типа для параметра в index.

    Обсуждение

    Индексы начинаются 0. Скрытые параметры self (идентификатора типа) и _cmd (типа SEL), в индексах 0 и 1; специфичные для метода параметры начинаются в индексе 2. Повышения NSInvalidArgumentException если index является слишком большим для фактического числа параметров.

    Типы аргумента даны как струны до с кодированием типа Objective C. Это кодирование специфично для реализации, таким образом, приложения должны использовать его с осторожностью.

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

    Objective C

    @import Foundation;

    Доступность

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

  • Число параметров зарегистрировано в получателе. (только для чтения)

    Объявление

    Objective C

    @property(readonly) NSUInteger numberOfArguments

    Обсуждение

    Всегда существует по крайней мере два параметра, потому что NSMethodSignature объект включает скрытые параметры self и _cmd, то, которые являются первыми двумя параметрами, передало каждой реализации метода.

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

    Objective C

    @import Foundation;

    Доступность

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

  • frameLength frameLength Свойство

    Число байтов, которые параметры, взятые вместе, занимают на штабеле. (только для чтения)

    Объявление

    Objective C

    @property(readonly) NSUInteger frameLength

    Обсуждение

    Это число меняется в зависимости от аппаратной архитектуры выполнение приложения на.

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

    Objective C

    @import Foundation;

    Доступность

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

  • Струна до, кодирующая тип возврата метода в кодировании типа Objective C. (только для чтения)

    Объявление

    Objective C

    @property(readonly) const char *methodReturnType

    Обсуждение

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

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

    Objective C

    @import Foundation;

    Доступность

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

    См. также

    – methodReturnLength

  • Число байтов требуется для возвращаемого значения. (только для чтения)

    Объявление

    Objective C

    @property(readonly) NSUInteger methodReturnLength

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

    Objective C

    @import Foundation;

    Доступность

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

    См. также

    – methodReturnType

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

    Объявление

    Objective C

    - (BOOL)isOneway

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

    YEStrue если получатель является асинхронным, когда вызвано через распределенные объекты, иначе NOfalse.

    Обсуждение

    Если метод oneway, отправитель удаленного сообщения не блокирует ожидание ответа.

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

    Objective C

    @import Foundation;

    Доступность

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