¿Qué es NSParameterAssert?
¿Alguien puede explicarlo con un ejemplo?
fuente
¿Qué es NSParameterAssert?
¿Alguien puede explicarlo con un ejemplo?
Es una forma sencilla de probar que el parámetro de un método no es 0 nilo no. Básicamente, lo usa para crear una condición previa, indicando que se debe establecer algún parámetro. Si no se establece, la macro hace que la aplicación se anule y genera un error en esa línea. Entonces:
- (void)someMethod:(id)someObjectThatMustNotBeNil
{
// Make sure that someObjectThatMustNotBeNil is really not nil
NSParameterAssert( someObjectThatMustNotBeNil );
// Okay, now do things
}
Las condiciones previas son una forma sencilla de garantizar que el programador llame correctamente a los métodos / API. La idea es que si un programador viola la condición previa, la aplicación finaliza antes, con suerte durante la depuración y las pruebas básicas.
NSParameterAssert Sin embargo, se puede usar para probar que cualquier expresión se evalúe como verdadera, por lo que también puede usarla así:
NSParameterAssert( index >= 0 ); // ensure no negative index is supplied
Releaseconfiguración. Puedes controlar esto configurando laENABLE_NS_ASSERTIONSconfiguración de compilación en las versiones más recientes de Xcode, o definiendo laNS_BLOCK_ASSERTIONSmacro y configurándola en 1. En Xcode 5 hay una configuración de proyecto * Habilitar Foundation Assertions` que establece la configuración de compilación y los valores predeterminadosYesenDebugyNoenReleaseconfiguraciones.