uzun zamandır bu hatayı alıyorum ama nerden kaynaklandığını çözemedim, diğer projelerdede aynı hata var nasıl düzeltebilrim, ve viewcontroller sayfasına giriş yaptıktn sonra hoşgeldiniz sayfasının açılmasını sağlayan kodu yazdım ancak diğer sayfaya geçiş yapmıyor showAlert(withTitle: "Giriş Başarılı", message: "Hoşgeldiniz!") performSegue(withIdentifier: "Hosgeldiniz", sender: self) } func showAlert(withTitle title: String, message: String) { let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert) let okAction = UIAlertAction(title: "Tamam", style: .default) alertController.addAction(okAction) present(alertController, animated: true) } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "HosgeldinizViewcontroller" {
} } } |
swift hatası
-
-
Swift uzmanlık alanım değil fakat burada ele alınması gereken iki ana konu var: segue (geçiş) tanımlaması ve potansiyel bir hata nedeniyle bu geçişin tetiklenememesi.
performSegue(withIdentifier:sender:)
metodunu çağırdığınızda kullandığınız segue identifier'ın (tanımlayıcı) storyboard üzerinde tanımlanan identifier ile aynı olduğundan emin olun. Paylaştığınız kodda"Hosgeldiniz"
identifier'ını kullanıyorsunuz, ancakprepare(for:sender:)
metodunda"HosgeldinizViewcontroller"
tanımlayıcısını kontrol ediyorsunuz. Bu iki tanımlayıcının birbiriyle uyumlu olduğundan emin misiniz?Storyboard üzerinde doğru ViewController'lar arasında segue'nin bağlantısının yapıldığından emin olun. Bazen yanlış ViewController'a segue bağlantısı yapılırsa veya ViewController sınıfı doğru atanmamışsa geçiş başarısız olabilir.
Kodunuzda "Thread 1: Breakpoint 1.1" şeklinde bir hata mesajı almışsınız. Eğer Xcode'da manuel olarak bir breakpoint koymadıysanız, bu durum genellikle bir hata nedeniyle kodun durdurulduğunu gösterir. Kodda herhangi bir yazım hatası veya eksik referans olup olmadığını kontrol edin.
Projeyi temizleyin (
Product > Clean Build Folder
) ve yeniden derleyin (Product > Build
).Giriş başarılı olduktan sonra bir alert gösterip, bu alert kapatıldıktan sonra geçişi tetikliyorsanız, geçişin alert kapatıldıktan sonra yapılmasını sağlamak için
UIAlertAction
'da segue'yi çağırın:func showAlert(withTitle title: String, message: String) { let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert) let okAction = UIAlertAction(title: "Tamam", style: .default) { _ in self.performSegue(withIdentifier: "Hosgeldiniz", sender: self) } alertController.addAction(okAction) present(alertController, animated: true) }Kod
Yığını:
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X