NSAssert ile gerçekten konuşamıyorum, ancak C'nin iddialarına () benzer şekilde çalıştığını hayal ediyorum.
assert (), kodunuzda anlamsal bir sözleşme uygulamak için kullanılır. Ne demek istiyorsun?
Dediğiniz gibi: Asla -1 almamanız gereken bir fonksiyonunuz varsa, assert () uygulamanızı şu şekilde uygulayabilirsiniz:
void gimme_positive_ints (int i) {
iddia (i> 0);
}
Ve şimdi hata günlüğünde (veya STDERR) böyle bir şey göreceksiniz:
Onay i> 0 başarısız oldu: file.c dosyası, satır 2
Bu yüzden sadece potansiyel olarak kötü girişlere karşı güvenli bir koruma sağlamakla kalmaz, aynı zamanda bunları kullanışlı ve standart bir şekilde kaydeder.
Oh, ve en azından C assert () içinde bir makro vardı, bu yüzden assert () öğesini sürüm kodunuzda hayır olarak yeniden tanımlayabilirsiniz. NSAssert (ya da daha fazla iddia ()) ile durum böyle olup olmadığını bilmiyorum, ama bu kontrolleri derlemek oldukça yararlı oldu.