Extensions

“Extensions” tanımlamayı ve kullanım alanlarını öğreneceksiniz. Ayrıca neden “Extensions” kullanılması gerektiğine dair bilgi edineceksiniz.

Mentorluk

Randevu OluşturKredi Al

Extensions Nedir?

Extensions—yani eklentiler—bir değere, sınıfa veya protokole yeni özellikler katmamızı sağlar. Bunu Swift diline katkı sağlıyormuş veya özel ayar yapıyormuş gibi düşünebilirsiniz.

Image for post
Örnek Profil Görünümü

Mesela uygulamanızda bir profil kısmı mevcut. Burada yuvarlak, gradient kenarlı bir resim kullanıyorsunuz. Bu profil resminin kodu şuna benzesin:

Image for post
Örnek Özel Çerçeve Kodu

Bunu her controller kodunda kullandığınız zaman projenize ekstra olarak 21 satır daha koymuş oluyorsunuz. Peki bunu nasıl özelleştirebiliriz?

Tabii ki Extension kullanarak!

Extension Nasıl Kullanılır?

Öncelikle eklentiniz bir sınıfa ait olmalı.


    extension BirSinif {
        // Bir şeyler yapın...
    }

Daha sonra içerisinde bir değer atama, fonksiyon kullanma gibi seçenekleri kullanabilirsiniz. Şimdi yazacağımız eklenti Double sayıları düzenleyip String türüne değiştirecek.

Örnek: Double Sayıları Düzenleyelim

Yapmak istediğimiz şey; küsuratlı bir sayı aldığımızda bunu dilediğimiz basamaklı bir sayıya yuvarlayıp çıktı almak. Öncelikle fonksiyonumuzu yazıyoruz. Daha sonra bu fonksiyonu herhangi bir double sayı ile çağırıyor ve kaç basamaklı olması gerektiğini söylüyoruz.


    extension Double {
    
        func stringValue(digits: Int) -> String {
            return String(format: "%.\(digit)f", self)
        }
    }

    print(5.324523452342345.stringValue(digits: 2))
    // 5.32 yazdırılır
    print(5.324523452342345.stringValue(digits: 3))
    // 5.324 yazdırılır

Sıradaki

Pratik Animasyonlar

Doğru zaman ve doğru yerde kullanılan animasyonların eşsiz deneyimler sunduğu örnekleri inceleyeceksiniz.

Videolar

Swift Temellerine Giriş
Swift Temellerine Giriş
Teknolojinin Dili Kodlama
Teknolojinin Dili Kodlama
Playground Temelleri
Playground Temelleri
Veri Tipleri & Sabitler ve Değişkenler
Veri Tipleri & Sabitler ve Değişkenler
Operatörler
Operatörler
Kontrol Akışı
Kontrol Akışı
Fonksiyonlar
Fonksiyonlar
String'ler
String'ler
Objeler, Metotlar ve Özellikler
Objeler, Metotlar ve Özellikler
Xcode ile Tanışın
Xcode ile Tanışın
Struct
Struct
Class
Class
Koleksiyonlar
Koleksiyonlar
Döngüler
Döngüler
Xcode
Xcode
“Build”, “Run” ve “Debug”
“Build”, “Run” ve “Debug”
Arayüz Elemanlarını Yakından Tanıyın
Arayüz Elemanlarını Yakından Tanıyın
Dokümantasyon
Dokümantasyon
“Interface Builder” Temelleri
“Interface Builder” Temelleri
"UIKit" ile Kullanıcı Arayüzüne Giriş
"UIKit" ile Kullanıcı Arayüzüne Giriş
İlk Uygulama
İlk Uygulama
Kontrol Elemanları
Kontrol Elemanları
Autolayout & Stackview
Autolayout & Stackview
Optionals
Optionals
Tip Dönüşümleri
Tip Dönüşümleri
Guard
Guard
Uygulama Hayat Döngüsü ve Veri Modelleme
Uygulama Hayat Döngüsü ve Veri Modelleme
Scope Sabit & Değişken
Scope Sabit & Değişken
Enumerations
Enumerations
Protokoller
Protokoller
Segue ve Navigation Controller
Segue ve Navigation Controller
TabbarController
TabbarController
View Controller Hayat Döngüsü
View Controller Hayat Döngüsü
Basit Akışlar Oluşturmak
Basit Akışlar Oluşturmak
Uygulama Anatomisi ve Hayat Döngüsü
Uygulama Anatomisi ve Hayat Döngüsü
Model View Controller
Model View Controller
Uygulamanızda Veri Kaydedin
Uygulamanızda Veri Kaydedin
ScrollView
ScrollView
TableView Giriş
TableView Giriş
TableView İleri
TableView İleri
Verileri Kaydetmek
Verileri Kaydetmek
System View Controllers
System View Controllers
Uygulama Geliştirin
Uygulama Geliştirin
Karmaşık Veri Girişi Ekranları Oluşturmak
Karmaşık Veri Girişi Ekranları Oluşturmak
Closures
Closures
Extensions
Extensions
Pratik Animasyonlar
Pratik Animasyonlar
İnternet ile İletişime Geçin
İnternet ile İletişime Geçin
İnternet ile Çalışmak
İnternet ile Çalışmak
JSON
JSON
Concurrency
Concurrency