Günlük kaydı, assert/precondition/fatalError
Durumu print/debugPrint ile günlüğe kaydedin ve değişmezler için assert (yalnızca hata ayıklamada), precondition (yayın sürümünde denetlenir) veya fatalError (çöker) arasından seçim yapın.
Günlük kaydı, assert/precondition/fatalError, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 2 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 2 dersten oluşur.
Tanılama araç seti
Durumu görmek için basit bir günlük kaydı kullanın; varsayımları assert, precondition ve fatalError ile zorunlu kılın.
- assert: yalnızca hata ayıklama sırasında yapılan denetimler
- precondition: sürüm derlemelerinde de denetlenir
- fatalError: hemen durur
Hafif günlük kaydı
print okunabilirdir; debugPrint daha fazla ayrıntı gösterir (hata ayıklama sırasında kullanışlıdır).
let user = ["name": "Ana", "role": "admin"]
print("User:", user) // user-friendly
debugPrint("User:", user) // includes type details when available
let point = (x: 3, y: 5)
print("Point:", point)
debugPrint("Point:", point)assert (yalnızca hata ayıklama)
Koşul yanlış olduğunda assert, Debug derlemesinde programı durdurur; iyileştirilmiş Release derlemelerinde kaldırılır.
// Even numbers only (demo)
func half(of x: Int) -> Int {
assert(x % 2 == 0, "Expected even number, got \(x)")
return x / 2
}
print(half(of: 8)) // OK in Debug/Release
// In Debug, failing the assert would stop and print the message.
// In Release, assert checks are disabled by default.precondition (sürümde de denetlenir)
precondition, kritik gereksinimleri Debug ve Release derlemelerinde doğrular. Bütün programcı hataları için bunu kullanın; bu hatalar hiçbir zaman gerçekleşmemelidir.
// Safe divide with required precondition
func safeDivide(_ a: Int, by b: Int) -> Int {
precondition(b != 0, "Divider must be nonzero")
return a / b
}
print(safeDivide(10, by: 2)) // 5
// If called with 0, precondition fails in Debug and Release.fatalError (şimdi dur)
fatalError, yürütmeyi hemen durdurur ve bir ileti bildirir. Geliştirme sırasında erişilemez kod yolları veya uygulanmamış işlevler için kullanın.
enum FileKind { case text, binary }
func open(kind: FileKind) {
switch kind {
case .text:
print("Open text mode")
case .binary:
print("Open binary mode")
// If we ever add a new case and forget to handle it, we could use:
// default: fatalError("Unsupported file kind")
}
}
open(kind: .text)Hangisi ne zaman kullanılmalı?
Yönergeler:
- Hızlı günlük kayıtları için print/debugPrint kullanın (daha sonra kaldırın veya bayrakların arkasında koşullu hâle getirin).
- Yalnızca hata ayıklama sırasında yapılacak geliştirici denetimleri için assert kullanın.
- Bir gereksinim karşılanmadığında programın herhangi bir derlemede devam etmemesi gerekiyorsa precondition kullanın.
- Erişilemez/uygulanmamış yollar için fatalError kullanın.
Sürümde denetlenen tanılama
Hızlı kontrol: Sürüm derlemelerinde hangi tanılama hâlâ denetlenir?
Özet
Özet: print/debugPrint ile günlük kaydı tutun, değişmezleri assert (hata ayıklama), precondition (sürümde de) ile koruyun ve gerçekten erişilemez durumlar için fatalError kullanın.
Sıkça Sorulan Sorular
“Günlük kaydı, assert/precondition/fatalError” dersi ücretsiz mi?
Evet — “Günlük kaydı, assert/precondition/fatalError” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 2 dersten oluşur.
“Günlük kaydı, assert/precondition/fatalError” dersinde ne öğreneceğim?
Durumu print/debugPrint ile günlüğe kaydedin ve değişmezler için assert (yalnızca hata ayıklamada), precondition (yayın sürümünde denetlenir) veya fatalError (çöker) arasından seçim yapın. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Swift Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 2 dersinin 2. dersidir.
“Günlük kaydı, assert/precondition/fatalError” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- XCTest temelleri (hedefler, test verileri)
- Günlük kaydı, assert/precondition/fatalError