Che cos'è NSParameterAssert?
Qualcuno può spiegare con l'esempio?
Che cos'è NSParameterAssert?
Qualcuno può spiegare con l'esempio?
Risposte:
È un modo semplice per verificare che il parametro di un metodo non sia nilo meno 0. Quindi, fondamentalmente, lo si utilizza per creare una precondizione, affermando che è necessario impostare alcuni parametri. Se non è impostato, la macro provoca l'interruzione dell'applicazione e genera un errore su quella riga. Così:
- (void)someMethod:(id)someObjectThatMustNotBeNil
{
// Make sure that someObjectThatMustNotBeNil is really not nil
NSParameterAssert( someObjectThatMustNotBeNil );
// Okay, now do things
}
Le pre-condizioni sono un modo semplice per garantire che i metodi / API vengano chiamati correttamente dal programmatore. L'idea è che se un programmatore viola la precondizione, l'applicazione termina presto, si spera durante il debug e il test di base.
NSParameterAssert può essere utilizzato per verificare che qualsiasi espressione sia vera, tuttavia, quindi puoi usarla anche in questo modo:
NSParameterAssert( index >= 0 ); // ensure no negative index is supplied
Releaseconfigurazione. Puoi controllarlo impostando le ENABLE_NS_ASSERTIONSimpostazioni di compilazione nelle versioni più recenti di Xcode, o definendo la NS_BLOCK_ASSERTIONSmacro e impostandola su 1. In Xcode 5 c'è un'impostazione del progetto * Abilita le asserzioni della fondazione` che imposta l'impostazione di compilazione e le impostazioni predefinite su Yesdentro Debuge Nodentro Releaseconfigurazioni.