Was ist NSParameterAssert
?
Kann jemand mit Beispiel erklären?
quelle
Was ist NSParameterAssert
?
Kann jemand mit Beispiel erklären?
Es ist eine einfache Möglichkeit zu testen, ob der Parameter einer Methode nicht nil
oder nicht 0 ist. Im Grunde genommen verwenden Sie ihn also, um eine Vorbedingung zu erstellen, in der angegeben wird, dass einige Parameter festgelegt werden müssen. Wenn es nicht festgelegt ist, bewirkt das Makro, dass die Anwendung abgebrochen wird, und generiert einen Fehler in dieser Zeile. So:
- (void)someMethod:(id)someObjectThatMustNotBeNil
{
// Make sure that someObjectThatMustNotBeNil is really not nil
NSParameterAssert( someObjectThatMustNotBeNil );
// Okay, now do things
}
Voraussetzungen sind eine einfache Möglichkeit, um sicherzustellen, dass Methoden / API vom Programmierer korrekt aufgerufen werden. Die Idee ist, dass wenn ein Programmierer die Vorbedingung verletzt, die Anwendung vorzeitig beendet wird - hoffentlich während des Debuggens und der grundlegenden Tests.
NSParameterAssert
kann verwendet werden, um zu testen, ob ein Ausdruck als wahr ausgewertet wird, sodass Sie ihn auch folgendermaßen verwenden können:
NSParameterAssert( index >= 0 ); // ensure no negative index is supplied
Release
Konfiguration festgelegt. Sie können dies steuern, indem Sie dieENABLE_NS_ASSERTIONS
Build-Einstellungen in neueren Versionen von Xcode festlegen oder dasNS_BLOCK_ASSERTIONS
Makro definieren und auf 1 setzen. In Xcode 5 gibt es eine Projekteinstellung * Foundation Assertions aktivieren`, mit der die Build-Einstellungen und StandardeinstellungenYes
inDebug
undNo
in festgelegt werdenRelease
Konfigurationen.