C'est quoi NSParameterAssert?
Quelqu'un peut-il expliquer avec l'exemple?
C'est quoi NSParameterAssert?
Quelqu'un peut-il expliquer avec l'exemple?
Réponses:
C'est un moyen simple de tester que le paramètre d'une méthode n'est pas nilou 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
Releaseconfiguration. Vous pouvez contrôler cela en définissant les ENABLE_NS_ASSERTIONSparamètres de construction dans les versions plus récentes de Xcode, ou en définissant la NS_BLOCK_ASSERTIONSmacro 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 sur Yesin Debuget Noin Releaseconfigurations.