Segue Kullanmadan Ekranlar Arasında Veri Alışverişi

Ferhan Akkan
2 min readSep 1, 2020

--

Merhabalar bugün sizlere segue kullanmadan ekranlar arasında veri geçişi yapmanın yollarına bakacağız. Yazıma başlamadan önce sizlere neden segue kullanımını bırakmanız gerektiğini anlatmaya çalışayım.

Segue kullanımı için bildiğiniz üzere storyboard üzerinden iki ekran arasında bağlantı yapmak gereklidir. Yani her zaman belli bir kısıtlamaya mahsur kalırsınız. Bu sınırlama storyboard kullanmayı seviyor iseniz büyük projelerde başınızı oldukça ağırtacak çünkü çok fazla ekrana sahip uygulamalarda storyboard’larınızı bölmeniz gerekecek ve doğal olarak segue bağlantısını yapamayacaksınız. Ayrıca segue kullanmanın syntax olarak da okunması Xib, Storyboard ID ve programatik obje oluşturma yöntemlerine göre oldukça karışık olduğunu söyleyebilirim.

Sizler için ufak bi proje oluşturdum bu proje içerisinde :

  • Segue ile ekranlar arası veri geçişi.
  • Storyboard ID aracılığı ile storyboard içerisinden geçiş sağlamak.
  • Xib aracılığı ile ekran geçişini sağlamak
  • Programatik olarak ViewController oluşturmak ve ekran geçişini sağlamak.

Öncelikle aşağıda görmüş olduğunuz üzere storyboard’uma 2 tane ekran ekledim bunu haricinde Xib dosyası storyboard’un dışı durmaktadır (XibExampleView.xib) ve programatik olarak geliştirdiğimiz ekranı kod ile oluşturacağız. (ProgrammaticallyViewController)

public extension UIStoryboard {  static var myStoryboardName: UIStoryboard {     return UIStoryboard(name: "Main", bundle: .main)  }}

UI kısmını yaptıktan sonraki ilk işim birden fazla storyboard kullanmak için kullandığım ufak bi extension yazmak. Burada oluşturmuş olduğumuz extension ile her seferinden uzun bi şekilde storyboard’a ulaşmak yerine sadece UIStoryboard.myStoryboardName ile ulaşabilicez. Bunu kodunun okunabilirliğini artırmak adına yapıyoruz.

Ardından diğer ekranlara geçiş sağlayacağımız ekranımızın button bağlantılarını ve gerekli kodları açıklayarak inceleyelim.

Diğer alt class’ları oluşturmuş olduğum dosyalar yazının sonunda vereceğim linkten ulaşabilirsiniz. Bu örnekte görmüş olduğunuz üzere programatik, bundle ve xib yolu ile geliştirme yaparken hem show hem de present fonksyonlarını kullanarak farklı şekillerde ekran geçişlerini yapabilirken segue kullandığımız zaman ise show için ayrı present için ayrı segue’ler storyboard’a çizilmesi gerekmektedir.

Bu yazımda görmüş olduğunuz uygulamanın tamamına link’ten ulaşabilirsiniz.

Ayrıca sormak istediğiniz bir kısım olursa LinkedIn üzerinden sorabilirsiniz. Umarım yazım sizlere faydalı olmuştur.

--

--