NSAssertionHandler
NSAssertionHandler объекты автоматически создаются для обработки ложных утверждений. Макросы утверждения, такой как NSAssert и NSCAssert, если условие оценивает ко лжи, передача макросов строка к, используются для оценки условия, и NSAssertionHandler объект, описывающий отказ. Каждый поток имеет свое собственное NSAssertionHandler объект. Когда вызвано, обработчик утверждения распечатывает сообщение об ошибке, включающее метод и класс (или функция) содержащий утверждение и повышающее NSInternalInconsistencyException.
Вы создаете утверждения только с помощью макросов утверждения — редко необходимо вызывать NSAssertionHandler методы непосредственно. Макросы для использования в методах и функциях отправляют handleFailureInMethod:object:file:lineNumber:description: и handleFailureInFunction:file:lineNumber:description: сообщения соответственно к текущему обработчику утверждения. Обработчик утверждения для текущего потока получен с помощью currentHandler метод класса. Посмотрите NSAssertionHandlerKey если необходимо настроить поведение NSAssertionHandler.
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Возвраты
NSAssertionHandlerобъект связался с текущим потоком.Объявление
Swift
class func currentHandler() -> NSAssertionHandlerObjective C
+ (NSAssertionHandler *)currentHandlerВозвращаемое значение
NSAssertionHandlerобъект связался с текущим потоком.Обсуждение
Если никакой обработчик утверждения не связан с текущим потоком, этот метод создает один и присваивает его потоку.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
handleFailureInFunction:file:lineNumber:description: - handleFailureInFunction:file:lineNumber:description:Журналы (использование
NSLog) сообщение об ошибке, включающее имя функции, имя файла и номер строки.Объявление
Параметры
functionNameПереставшая работать функция.
objectПереставший работать объект.
fileNameИмя исходного файла.
lineСтрока, в которой произошел отказ.
format,...Строка формата, сопровождаемая списком разделенных запятой значений параметров для замены в строку формата. Посмотрите Строковые Объекты Форматирования для получения дополнительной информации.
Обсуждение
Повышения
NSInternalInconsistencyException.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
-
handleFailureInMethod:object:file:lineNumber:description: - handleFailureInMethod:object:file:lineNumber:description:Журналы (использование
NSLog) сообщение об ошибке, включающее имя метода, переставшего работать, имя класса объекта, имя исходного файла и номер строки.Объявление
Параметры
selectorСелектор для переставшего работать метода
objectПереставший работать объект.
fileNameИмя исходного файла.
lineСтрока, в которой произошел отказ.
format,...Строка формата, сопровождаемая списком разделенных запятой значений параметров для замены в строку формата. Посмотрите Строковые Объекты Форматирования для получения дополнительной информации.
Обсуждение
Повышения
NSInternalInconsistencyException.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
-
Эта константа относится к ключу в словаре потока объекта-обработчика утверждения на поток
Объявление
Objective C
NSString * const NSAssertionHandlerKey;Константы
-
NSAssertionHandlerKeyNSAssertionHandlerKeyКлюч с соответствующим значением в словаре потока.
Если необходимо настроить поведение
NSAssertionHandler, создайте подкласс, переопределивhandleFailureInMethod:object:file:lineNumber:description:иhandleFailureInFunction:file:lineNumber:description:, и установите свой экземпляр в словарь атрибутов текущего потока с этим ключом.
-
