Swift Tipalias: Nasıl ve Neden Kullanılır?

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ı, typealiaskodumuzu 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 Arraykullanmak 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 Intdeğer alır ve geri döner String.

Kullanımının (Int)->(String)okuyucuya daha az anlamlı geldiğini görebilirsiniz . Sen kullanabilirsiniz typealiasbunun 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.

Ilginç makaleler...