Ana sayfa » Programlama » Swift TableView Kullanımı – 2

Swift TableView Kullanımı – 2

by Mehmet YETKİN
swift-logo

Bir önceki yazımızda swift ile TableView kullanarak listelemenin nasıl yapıldığını göstermiştik. Şimdi ise listelediğimiz verilere tıklama olayını ekleyeceğiz. Bu tıklama olayı ile listelenen ülkelere tıkladığımızda o ülke ile ilgili bilgiler gelecek.

Aşağıda listelediğimiz ülkeler bulunmaktadır.

tableview-liste-ekran-goruntusu

tableview-listeleme

 

TableView click listener olayı didSelectRowAt fonksiyonu ile yapılmaktadır. Şimdi aşağıdaki gibi bu fonksiyonu ViewController.swift dosyasına ekleyelim.

fonksiyonu ekledikten sonra main.storyboard tasarım bölümüne geçip ülkelerde ilgili bilgilerin gösterileceği bir viewcontroller eklememiz gerekiyor. Aşağıda görüldüğü gibi yandaki nesnelerin olduğu bölümden viewcontoller nesnesine tıklayıp ekranın ortasına sürükleyelim.

yeni-bir-sayfa-olusturma,viewcontoller-ekleme

viewcontoller-ekleme

 

eklediğimiz bu ViewController ekranı ile ilgili kodları yazacağımız bir swift dosyası eklememiz gerekiyor. Aşağıda nasıl ekleyeceğimiz gösterilmiştir.

Öncelikle soldaki menüde proje ismimiz seçiliyken File/New/File deyip dosyayı seçeceğimiz ekranın açılmasını sağlayalım.

swift-dosya-ekleme

swift-dosya-ekleme

 

ekran açıldıktan sonra Cocoa Touch Class dosyasını seçip next diyoruz.

cocoa-touch-swift-dosyasi-ekleme

swift-cocoa-touch-sinifi-ekleme

ileri dedikten sonra karşımıza çıkan ekranda sınıf adını girip subclassını ekrandaki gibi belirleyip next diyoruz. Daha sonra çıkan ekranda create deyip bitiriyoruz.

 

swift-dosya-adi-belirleme

swift-dosya-adi-belirleme

 

Oluşturduğumuz ViewController ekranına UlkelerDetay.swift dosyasnı bağlamak için main.storyboard ekranında iken yeni ekranı aşağıdaki gibi seçip custom class bölümünden oluşturduğumuz UlkelerDetay dosyasını seçiyoruz. Seçme işleminden sonra hemen alt kısımda bulunan Storyboard ID kutucuğuna da UlkelerDetay yazıyoruz. Bu işlemden sonra tasarım ekranı ile kodları yazacağımız dosyayı birbirine bağlamış olduk.

viewcontroller-sinif-baglama

viewcontroller-sinif-baglama

 

Bu işlemlerden sonra yeni oluşturduğumuz ekranda aşağıdaki gibi ülke adı ve nüfusunu göstermek için tasarımını yapıp UlkelerDetay.swift dosyasına bağlayalım.

swift-label-dosya-baglama

swift-label-dosya-baglama

 

main.storyboard kısmında yapacağımız son şey ülkelere tıkladıktan sonra gelen ekrandan tekrar geri ülkeler listesine gelmek için Navigation Controller eklemektir. Navigation Controller’ı TableView’in bulunduğu ekran seçiliyken aşağıdaki gibi Editor/Embed in/Navigation Controller seçip ekrana getiriyoruz.

swift-navigation-bar-eklemeNavigation controller ekledikten sonra şimdi sıra geldi iki ekranı birbirine bağlamaya. Aşağıdaki şekilde farenin sağ tuşuyla bağlama işlemi yaparken bıraktığımızda show tuşuna basıyoruz.

navigation-bar-ile-ekranlari-birbirine-baglama

swift-ekranlari-birbirine-baglama

Main.storyboard sayfasında işimiz bitti. Şimdi sıra geldi kodlama kısmına. Ülkelerin nüfuslarının gösterileceği dosyada bir nüfus dizisi ve index değerinin tutulacağı bir static değişken oluşturalım.

bu sayfada ülke isimlerini çağırmamız için öncelikle bir ViewController nesnesi oluşturalım.

burada nesne yazıp noktaya tıkladığımda kullanabileceğimiz değişken ve fonksiyonlar listelenir.  Ülke adı ve nüfusların gösterilmesi için aşağıdaki kodları dosyamıza ekliyoruz.

UlkelerDetay.swift dosyamızın son hali aşağıdaki gibidir.

son olarak sıra geldi didselectrow fonksiyonumuzun içini doldurmaya. ViewController.swift dosyasına gidiyoruz.

yukarıda da görüldüğü gibi indexpath.row değerini integer tipe çevirip index değişkenine atıyoruz ve daha sonra nüfus bilgilerin göstereceğimiz ekranı çağırıyoruz.

şimdi uygulamamızı çalıştıralım. Gelen listede Türkiye’ye tıkladığımızda ülke adı ve nüfus bilgileri aşağıdaki gibi gelecektir. Aynı şekilde Portekiz’e tıkladığımızda da aşağıdaki gibi bilgileri gelecektir.

tableview-liste-ekran-goruntusu

tableview-listeleme

tableview-ulkelerdetay-2

tableview-ulkelerdetay-2

tableview-ulkeler-detay-1

tableview-ulkeler-detay-1

Related Articles

Leave a Comment