Fonksiyonlar

Fonksiyonların bu kadar güçlü olmasını sağlayan yönlerini keşfedecek ve fonksiyonları daha esnek hale getiren parametre kavramını öğreneceksiniz.

Mentorluk

Randevu OluşturKredi Al

Fonksiyon Nedir?

Fonksiyon, projenizde tekrar eden görevlerin kullanımı kolay, hızlı ve okunabilir hale getirmenizi sağlayan yapıdır. Örneğin; Instagram’daki beğeni fonksiyonunu ele alalım. Bir fotoğrafı 2 farklı şekilde beğenebiliriz:
1. Üzerine çift tıklayarak beğenebiliriz.
2. Post’un altında bulunan kalp ikonuna bir kez tıklayarak beğenebiliriz.

Bu iki farklı senaryo için arka tarafta aynı işlem çalışmaktadır. Böyle bir durumda, aynı işlemi yapan kodları 2 defa yazarsanız herhangi bir değişiklik yapmanız gerektiğinde her ikisinde de değişiklik yapmanız gerekecek. Fonksiyonlar, sizi bu durumdan kurtarır. Dilerseniz ilk fonksiyonumuzu yazalım.

Parametresiz Fonksiyon

Parametresiz fonksiyon tanımlama işlemine “func” anahtar kelimesini kullanarak başlıyoruz. Hemen ardından fonksiyona, işlevine uygun olacak bir isim veriyoruz, en son “()” ile fonksiyonu tanımlamış oluyoruz. “{“ ile başlayan ve “}” ile biten satırlar arasına ise bu fonksiyon çağırıldığı zaman çalışmasını istediğiniz kodları yazacaksınız. İlk fonksiyonumuzda adınızı ve soyadınızı yazdırmayı ele alalım.
Her seferinde “print(“Ufuk”) print(“Köşker”)” yazmaktansa tek seferde “adimiYazdir()” fonksiyonunu çağırmam yeterli olacaktır.


    func fonksiyonAdi() {
        // Kod
    }

Parametreli Fonksiyon

Bu fonksiyonun parametresiz fonksiyonlardan tek farkı, “()” parantezlerin arasına değişken tanımlaması yapmanız. Parametresiz olan fonksiyonumuzu, parametreli fonksiyona dönüştürelim ve farklı değerler ekleyelim.

Fonksiyon çağırıldığı zaman parametrede aldığınız değerleri, fonksiyonun içerisinde kullanabilirsiniz. Bir diğer deyişle, parametreler fonksiyon için girdi görevi görür.


    func adimiYazdir(ad: String, soyad: String) {
        print(ad)
        print(soyad)
    }

Tüm parametreler aynı türde olmayabilir, farklı türlerde de olabilirler. Buna örnek olarak, fonksiyonumuza bir de yas parametresini ekleyelim.


    func adimiYazdir(ad: String, soyad: String, yas: Int) {
        print(ad)
        print(soyad)
        print(yas)
    }

Yaş parametresini, fonksiyona eklediğiniz zaman Xcode, yapılan değişikliği algılayıp sizden düzeltmenizi isteyecektir. Uyarının üzerine tıklayıp “Fix” düğmesine tıklamanız yeterli olacaktır.

Dönüşlü Fonksiyon

Parametreli fonksiyonlar, çağırılma esnasında aldıkları parametreler ile işlem yaparlar fakat işlemin sonucu her ne olursa olsun (yazı, sayı vs.) bununla fonksiyonun içerisinde bir işlem yapmaktan öteye geçemezler. Dönüşlü fonksiyonlar ise içlerinde çalışan kodlardan elde ettikleri sonucu bize geri verirler yani döndürürler. Bir diğer deyişle, bir fonksiyonun döndürdüğü değer onun çıktısıdır.

Ek Bilgi: Dönüşlü bir fonksiyon parametreli olmak zorunda değildir.

Dönüşlü fonksiyona verilebilecek en iyi örnek toplama örneğidir. Bu örnekte toplanacak sayıları parametre olarak alıyoruz, sonucu ise fonksiyonun bitiminde döndürüyoruz.


    func topla(sayi1: Int, sayi2: Int) -> Int {
        let toplam = sayi1 + sayi2
        return toplam
    }

Sıradaki

String'ler

Karakter dizisinden oluşan String konsepti ile tanışacak, çeşitli String fonksiyonlarını kullanarak String dizeleri oluşturmayı öğreneceksiniz.

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