Was ist NSParameterAssert
?
Kann jemand mit Beispiel erklären?
Was ist NSParameterAssert
?
Kann jemand mit Beispiel erklären?
Antworten:
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 die ENABLE_NS_ASSERTIONS
Build-Einstellungen in neueren Versionen von Xcode festlegen oder das NS_BLOCK_ASSERTIONS
Makro definieren und auf 1 setzen. In Xcode 5 gibt es eine Projekteinstellung * Foundation Assertions aktivieren`, mit der die Build-Einstellungen und Standardeinstellungen Yes
in Debug
und No
in festgelegt werden Release
Konfigurationen.