C'est quoi NSParameterAssert
?
Quelqu'un peut-il expliquer avec l'exemple?
la source
C'est quoi NSParameterAssert
?
Quelqu'un peut-il expliquer avec l'exemple?
C'est un moyen simple de tester que le paramètre d'une méthode n'est pas nil
ou pas 0. Donc, fondamentalement, vous l'utilisez pour créer une précondition, indiquant qu'un paramètre doit être défini. S'il n'est pas défini, la macro entraîne l'arrêt de l'application et génère une erreur sur cette ligne. Donc:
- (void)someMethod:(id)someObjectThatMustNotBeNil
{
// Make sure that someObjectThatMustNotBeNil is really not nil
NSParameterAssert( someObjectThatMustNotBeNil );
// Okay, now do things
}
Les pré-conditions sont un moyen simple de s'assurer que les méthodes / API sont correctement appelées par le programmeur. L'idée est que si un programmeur viole la condition préalable, l'application se termine tôt - espérons-le pendant le débogage et les tests de base.
NSParameterAssert
peut être utilisé pour tester que toute expression est évaluée comme vraie, cependant, vous pouvez donc l'utiliser comme ceci:
NSParameterAssert( index >= 0 ); // ensure no negative index is supplied
Release
configuration. Vous pouvez contrôler cela en définissant lesENABLE_NS_ASSERTIONS
paramètres de construction dans les versions plus récentes de Xcode, ou en définissant laNS_BLOCK_ASSERTIONS
macro et en la définissant sur 1. Dans Xcode 5, il existe un paramètre de projet * Activer les assertions de fondation` qui définit le paramètre de construction et par défaut surYes
inDebug
etNo
inRelease
configurations.