Sınıfa ait hesaplanmış bir özellik bildirimi için class anahtar sözcüğü kullanılmalıdır. Statik bir değişken özelliği bildirimi için de static anahtar sözcüğü kullanılmalıdır.
ÖRNEK:
struct YAPI {
static var DepTipOz = "ankara"
static var HesTipOz: Int {
return 65
}
}
enum SAYTIP {
static var DepTipOz = "istanbul"
static var HesTipOz: Int {
return 77
}
}
class SINIF{
class var HesTipOz: Int {
return 69
}
}
print("SINIF.HesTipOz...\(SINIF.HesTipOz)")
print("YAPI.HesTipOz...\(YAPI.HesTipOz)")
print("SAYTIP.HesTipOz...\(SAYTIP.HesTipOz)")
print("YAPI.DepTipOz...\(YAPI.DepTipOz)")
print("SAYTIP.DepTipOz...\(SAYTIP.DepTipOz)")
PROGRAMIN ÇIKTISI
SINIF.HesTipOz...69
YAPI.HesTipOz...65
SAYTIP.HesTipOz...77
YAPI.DepTipOz...ankara
SAYTIP.DepTipOz...istanbul
TİP KOPYALAMA BİLDİRİMLERİ
Swift’te, mevcut tipler, başka isim altında da oluşturulabilir. Bu tür bir işlem,
typealias TipYeniAd=MevcutTip
şeklinde bir bildiri ifadesi ile gerçekleştirilir.
Bu tanımlama yapıldıktan sonra, TipYeniAd sözcüğü, MevcutTip yerine kullanılabilir.
ÖRNEK:
typealias TamSay=Int
typealias Cift=Double
typealias Metin=String
var x:TamSay=12
var y:Cift=67.09
var z:Metin="orhan veli"
print("x=\(x)")
print("y=\(y)")
print("z=\(z)")
PROGRAMIN ÇIKTISI:
x=12
y=67.09
z=orhan veli
FONKSİYON BİLDİRİMİ
Bir program içinde ya da bir sınıf, yapı, enumeration içinde fonksiyon bildirimi aşağıdaki formattadır:
func FonksiyonAdi(Parametreler)->DönüşTipi
{ Deyimler
}
Eğer fonksiyon bir değer göndermiyorsa yani void tipinde ise bu durumda dönüş tipi kullanılmaz ve fonksiyon aşağıdaki şekli alır:
func FonksiyonAdi(Parametreler)
{ Deyimler
}
ÖRNEK:
Aşağıdaki sirala adlı fonksiyon void tipi (değer göndermeyen) bir fonksiyondur; kendisine gönderilen diziyi küçükten büyüğe doğru sıralayıp yazdırmaktadır:
func sirala(x: inout [Int], n: Int) {
var i = 0, j = 0
var t: Int
while i <= n - 2 {
j = i + 1
while j <= n - 1 {
if x[i] > x[j] {
t = x[i]
x[i] = x[j]
x[j] = t
}
j += 1
}
i += 1
}
for i in x {
print(i)
}
}
var u: [Int] = [56, 9, 11, -9, 76, 4]
sirala(x: &u,n: 6)
PROGRAMIN ÇIKTISI
-9
4
9
11
56
76
ÖRNEK
Aşağıdaki ArOrt adlı fonksiyon ise kendisine gönderilen Double tipinde bir dizinin aritmetik ortalamasını hesaplayarak bunu gene Double tipinde çağrıldığı noktaya geri göndermektedir:
func ArOrt(x: [Double], n: Double) -> Double {
var s: Double = 0
for i in x {
s += i
}
return s / n
}
var a: [Double] = [3, 9, 5, 2]
print("a dizisinin aritmetik ort=\(ArOrt(x: a, n: 4.0))")
var b:[Double]=[13.0,19.0,5.0,7.0,12.0]
print("b dizisinin aritmetik ort=\(ArOrt(x: b,n: 5.0))")
PROGRAMIN ÇIKTISI
a dizisinin aritmetik ort=4.75
b dizisinin aritmetik ort=11.2