5 durum mevcut;

Şimdi tüm bu durumları tek tek açıklayalım;


Yine bir önceki yazıdan devam ediyoruz;

let islemSonucu : Double = tumIslemler(sayi1: 100, sayi2: 200, hangiIslemYapilacak:
{
(sayi1: Double, sayi2: Double) -> Double in
return sayi1 + sayi2
})

Şimdi bu yapıyı biraz sadeleştirelim;
SADELEŞTİRME 1

let islemSonucu : Double = tumIslemler(sayi1: 100, sayi2: 200, hangiIslemYapilacak:
{…

Bir önceki yazıdaki örneklerden devam edelim.
Önce fonksiyonlarımızı hatırlayalım;

func toplamaIslemi(sayi1: Double, sayi2: Double) -> Double
{
return sayi1 + sayi2
}
func cikarmaIslemi(sayi1: Double, sayi2: Double) -> Double
{
return sayi1 - sayi2
}
func carpmaIslemi(sayi1: Double, sayi2: Double) -> Double
{
return sayi1 * sayi2
}
func bolmeIslemi(sayi1…

Closure fonksiyonların kısaltılmış halidir.
Closure yapısını değişkenlerde saklayabiliriz, fonksiyonlara parametre olarak iletebiliriz.

Şimdi 5 tane fonksiyon tanımlayalım. Ve bu fonksiyonların her biri 2 tane Double parametre alsın ve fonksiyon geriye de Double dönsün;

func toplamaIslemi(sayi1: Double, sayi2: Double) -> Double
{
return sayi1 + sayi2
}
func cikarmaIslemi(sayi1: Double, sayi2…

macOS Nedir?
Apple bilgisayarlar için işletim sistemidir.

macOS X Nedir?
max OS 10'dur. X roma rakamıdır; bilindiği üzere 10 sayısını temsil eder.

14 Nisan 2021 tarihi için macOS’un en son sürümü nedir?
macOS Big Sur 11.2.3

IOS Nedir?
Mac OS X’den türetilmiş Mobil işletim sistemidir.
Başlangıçta bu işletim sistemi için iPhone için…


(yazı yazılıyor)

Referans: developer.apple.com
Makalenin yazıldığı zaman Swift versiyonu: 5.4
İyi çalışmalar.


(yazı yazılıyor…)

Referans: developer.apple.com
Makalenin yazıldığı zaman Swift versiyonu: 5.4
İyi çalışmalar.


Şimdi şöyle bir örnek yapalım.
Enum içinde 3 enum tanımlayalım.
1nci enum motor tipini ifade etsin
2nci enum ise motor içi aşınmayı
3ncü enum ise bu 2 durumu ifade eden bir enum olsun

enum AracMotoru
{
enum MotorAyarSecenegi : Int
{
case Ayar1 = 10
case Ayar2 = 20
case Ayar3 = 30
}
enum MotorAsinmaSeviyesi
{
case Dusuk
case Orta
case Yuksek
}
case Motor(oayar: MotorAyarSecenegi, oasinma: MotorAsinmaSeviyesi)func motorunMevcutAyarlariniOgren() -> String
{
switch self
{
case let . Motor(ayarSecenegi, asinmaSeviyesi) :
return "motorun ayar seçeneği:\(ayarSecenegi), motor aşınma seviyesi:\(asinmaSeviyesi)"
}
}
}
let a1 = AracMotoru.Motor(oayar: AracMotoru.MotorAyarSecenegi.Ayar2, oasinma: AracMotoru.MotorAsinmaSeviyesi.Orta)
print(a1.motorunMevcutAyarlariniOgren())

çıktısı;

motorun ayar seçeneği:Ayar2, motor aşınma seviyesi:Orta

Referans: developer.apple.com
Makalenin yazıldığı zaman Swift versiyonu: 5.4
İyi çalışmalar.


Enum ve protocol ilişkisine değinelim.
Şöyle bir örnek yapacağız. Bir araç düşünelim, aracı sürdüğümüzde aracın benzini 10 litre azalacak. benzin al dediğimizde de aracın benzini 30 litre artacak.

protocol Benzin
{
var depodakiBenzinDegeri : Int {get}
mutating func benzinAl()
mutating func araciSur()
}
enum Arac : Benzin
{…

Şimdi Class ve enum ilişkisine değinelim.
Bir class oluşturalım;
class içinde 3 tane enum tanımlayalım,
3 tane de property tanımlayalım fakat bu 3 tane property enum tipinde olsun.

import Foundationclass Basketbol
{
enum OyuncuTipi
{
case OyunKurucu
case Pivot
}
enum VucutTipi
{
case boyu190cmAlti
case boy195cmUzeri
}
enum Hareketi
{
case ucSayilikAtis
case smac
}
var oyuncuTipi : OyuncuTipi
var vucutTipi : VucutTipi
var hareketi : Hareketi
init(oyuncuTipi: OyuncuTipi, vucutTipi: VucutTipi, hareketi: Hareketi)
{
self.oyuncuTipi = oyuncuTipi
self.vucutTipi = vucutTipi
self.hareketi = hareketi
}
}
var b1 : Basketbol = Basketbol(oyuncuTipi: Basketbol.OyuncuTipi.Pivot, vucutTipi: Basketbol.VucutTipi.boy195cmUzeri, hareketi: Basketbol.Hareketi.smac)
print(b1.hareketi)

Referans: developer.apple.com
Makalenin yazıldığı zaman Swift versiyonu: 5.4
İyi çalışmalar.

Selim Selçuk

iOS Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store