Nedir NSParameterAssert?
Biri örnekle açıklayabilir mi?
Nedir NSParameterAssert?
Biri örnekle açıklayabilir mi?
Yanıtlar:
Bu, bir yöntemin parametresinin nil0 olup olmadığını test etmenin basit bir yoludur. Yani temelde, onu bir ön koşul oluşturmak için kullanırsınız ve bazı parametrelerin ayarlanması gerektiğini belirtirsiniz. Ayarlanmamışsa, makro uygulamanın durdurulmasına neden olur ve bu satırda bir hata oluşturur. Yani:
- (void)someMethod:(id)someObjectThatMustNotBeNil
{
// Make sure that someObjectThatMustNotBeNil is really not nil
NSParameterAssert( someObjectThatMustNotBeNil );
// Okay, now do things
}
Ön koşullar, yöntemlerin / API'nin programcı tarafından doğru şekilde çağrılmasını sağlamanın basit bir yoludur. Buradaki fikir şudur ki, bir programcı ön koşulu ihlal ederse, uygulama erken - umarız hata ayıklama ve temel test sırasında - sona erer.
NSParameterAssert herhangi bir ifadenin doğru olarak değerlendirilip değerlendirilmediğini test etmek için kullanılabilir, böylece bunu da şu şekilde kullanabilirsiniz:
NSParameterAssert( index >= 0 ); // ensure no negative index is supplied
Releaseyapılandırmada şablonların mevcut sürümlerinde varsayılan olarak ayarlanır (bu oldukça uzağa gider) . Sen ayarlayarak bunu kontrol edebilir ENABLE_NS_ASSERTIONS, ya da tanımlayarak Xcode yeni sürümlerinde inşa ayarları NS_BLOCK_ASSERTIONSbir proje ayarı * Enable Vakfı Assertions` orada makro ve Xcode 5 1 olarak ayarlayarak buna setleri inşa ayarı ve varsayılan Yesiçinde Debugve Noiçinde Releasekonfigürasyonlar.