Bu makalede, tür takma adları ve Swift'deki kullanım durumları hakkında bilgi edineceksiniz.
Tür takma adı, programınıza mevcut bir veri türü için yeni bir ad girmenize olanak sağlar. Bir tür takma adı bildirildikten sonra, program boyunca var olan tür yerine takma ad kullanılabilir.
Tür takma adı yeni türler oluşturmaz. Mevcut bir türe yeni bir ad verirler.
Temel amacı, typealias
kodumuzu daha okunabilir ve insan anlayışı bağlamında daha net hale getirmektir.
Tipalias nasıl oluşturulur?
Anahtar kelime kullanılarak şu şekilde bildirilir typealias
:
tür takma adı = mevcut tür
Swift'de typealias
çoğu tür için kullanabilirsiniz . Şunlardan biri olabilir:
- Yerleşik türler (for.eg: String, Int)
- Kullanıcı tanımlı türler (for.eg: class, struct, enum)
- Karmaşık türler (örneğin: kapatmalar)
Yerleşik türler için tür takma adı
Dize, Int, Float vb. Gibi tüm yerleşik veri Türleri için tür takma adlarını kullanabilirsiniz.
Örneğin:
typealias StudentName = Dize
Yukarıdaki bildirim, ÖğrenciAdı'nın yerine her yerde kullanılmasına izin verir String
. Öyleyse, dizge türünde bir sabit oluşturmak istiyorsanız, ancak daha çok öğrenci adını temsil ediyorsanız. Şunları yapabilirsiniz:
isim: StudentName = "Jack"
Typealias kullanmadan, string türünün sabitini şu şekilde bildirmelisiniz:
let isim: String = "Jack"
Her iki örnekte de bir sabit tip oluşturulur String
. Ancak ile beyan etmek typealias
, kodumuz daha okunabilir hale gelir.
Kullanıcı tanımlı türler için tür takma adı
Kendi veri türünüzü oluşturmanız gereken birçok durum vardır. Öğrenciyi temsil eden bir Tür oluşturmak istediğinizi varsayalım, bunu aşağıdaki gibi bir sınıf kullanarak oluşturabilirsiniz:
class Student ( )
Artık bir grup öğrenci şu şekilde bir dizi olarak temsil edilebilir:
var öğrenciler: Dizi = ()
Yukarıdaki beyan, şu şekilde Array
kullanmak için kendi türünüzü oluşturarak daha okunabilir hale getirilebilir typealias
:
typealias Öğrenciler = Dizi
Artık kodumuzu şu şekilde daha okunabilir hale getirebiliriz:
var öğrenciler: Öğrenciler = ()
Karmaşık türler için tür takma adı
Bir örnek daha inceleyelim. Girdi parametresi olarak bir kapanış alan bir yöntemimiz olduğunu varsayalım.
Kapanışları bilmiyorsanız endişelenmeyin. Bunu özel bir işlev türü olarak düşünün. Makalede detaylı olarak anlattık: Hızlı kapanışlar.
func someMethod(oncomp:(Int)->(String))( )
Yukarıdaki örnek, bir girdi olarak bir kapanışı alır someMethod
. Kapanış bir Int
değer alır ve geri döner String
.
Kullanımının (Int)->(String)
okuyucuya daha az anlamlı geldiğini görebilirsiniz . Sen kullanabilirsiniz typealias
bunun için yeni bir isim sağlamak için:
typealias CompletionHandler = (Int) -> (Dize)
Şimdi yöntemi şu şekilde yeniden yazabilirsiniz:
func someMethod(oncomp:CompletionHandler)( )
Aynı kodun kullanımıyla daha net ve programcı dostu göründüğünü görebiliriz typealias
.