-
iOS(Swift) Eğitimlerine Başlarken
-
iOS(Swift) Eğitimlerine Başlarken Giriş
-
Bir Swift Programının Oluşturulması ve Çalıştırılması
-
Swift Diline Hızlı Bir Giriş
-
Diziler (Arrays) ve Sözlükler (Dictionaries)
-
Kontrol Komutları (Control Statements)
-
Swift'te Fonksiyonlar ve Kontrol Transfer Komutları (Control Transfer Statements)
-
Sınıflar(Classes) ve Nesneler(Objects) ve Yapılar(Structures)
-
Sayma Tipi (Enumeration), Protokoller (Protokols) ve Delege Etme (Delegation)
-
iOS(Swift) Eğitimlerine Başlarken Giriş
-
Swift Dilinin Temel Özellikleri
-
Bit Düzeyinde İşlem Gören Operatörler
-
Kontrol Komutları (Control Statements)
-
Swift'te Fonksiyonlar
-
Swift'te Fonksiyonlar Giriş
-
İç İçe (Nested) Fonksiyonlar
-
Birden Çok Formel Parametre alan Fonksiyonlar
-
Tek Çift Sayı Ayrımı Yapan Bir Fonksiyon
-
Parametresiz Fonsiyonlar
-
Değer Göndermeyen Fonksiyonlar
-
Birden Çok Değer Gönderen Fonksiyonlar
-
Dış Parametre İsimleri (External Parameter Names)
-
Değişkin (Variadic) Parametreler
-
Değişken (Variable) Parametreler
-
In-Out Türü Parametreler
-
Fonksiyon Tipinde Sabit ya da Değişken Tanımlamak
-
Bir Fonksiyonun Parametre Listesinde Başka Bir Fonksiyonun Kullanılması
-
Jenerikler (Generics)
-
Kapatma (Closure)
-
Swift'te Fonksiyonlar Giriş
-
Nesneye Yönelik Programlama (Object Oriented Programming)
-
Sınıf (Class) Oluşturma
-
Sınıf (Class) Oluşturma Giriş
-
Delege Etme (Delegaation)
-
Yapılar (Structures)
-
Sayma Tipi (Enumeration)
-
Dinamik(Dynamic) ve Statik(Static) Bağlama (Binding)
-
Çok Biçimlilik (Polymorphism)
-
Uzatmalar (Extensions)
-
Hesaplanmış Özellikler (Computed Properties)
-
Extension Yardımı ile Bir Yapıya (Structure) Özellik (Property) Ekleme
-
Protokoller (Protocols)
-
Self İfadesi
-
İlk Değer Atama (Inıtializer)
-
Nesnelere Ayrılan bellek alanını İade etme (Deinitializer)
-
Sınıf (Class) Oluşturma Giriş
-
Swift'te Tipler (Types)
-
Koleksiyon Tipleri (Collection Types)
-
Koleksiyon Tipleri (Collection Types) Giriş
-
Dizi İçine Aralık (Range) İfadesi ile Atama Yapma
-
Dizinin Elemanlarını Tarama
-
Dizilere İlk Değer Atamak için Alternatif bir Yol:count ve repeatedValue Metotları
-
Bir Tablonun Satır ve Sütun Toplamları ve Genel Toplamı
-
Kare Matris Swift Programı
-
Dizilerin Kopyasının Oluşturulması
-
Karakter Dizileri ile ilgili Swift Programı
-
Sözlüklerin Kopyasının Oluşturulması
-
Koleksiyon Tipleri (Collection Types) Giriş
-
Bildirimler (Declarations)
Dizilere benzer şekilde sözlük elemanlarına da for in yapısı ile erişilebilir. Aşağıdaki örnek kod bu konuda bir fikir vermektedir:
FOR IN DÖNGÜ YAPISI İLE BİR STRINGİN KARAKTERLERİNE ERİŞMEK
For in yapısı yardımı ile, dizi, sözlük ve koleksiyondan sonra verilen bir stringin tek tek harf ya da karakterlerine de erişmek mümkündür. Aşağıdaki kod ve çıktısı bu konuda bir fikir vermektedir:
İÇ İÇE FOR DÖNGÜLERİ(NESTED FOR LOOPS)
Bir çok durumda for döngüleri uygulamanın özelliğine göre iç içe de kullanılabilir. İç içe döngüler ayrıca while ve do-while yardımı ile de oluşturulabilir.
ÖRNEK:
var i,j:Int
for i in 1...3 {
for j in stride(from:1, to: 10, by: 4) {
print("\(i)...\(j)...")
}
}
Programın çıktısı ise aşağıdadır:
1...1...1...5...1...9...
2...1...2...5...2...9...
3...1...3...5...3...9...
Bu tür bir iç içe for yapısında kural,en içteki döngünün en hızlı çalışmasıdır. Yukardaki örneğe bakarsak,
i=1 iken, j=1,5,9 olacaktır. Sonra i bir arttırılacak ve
i=2 iken gene j=1,5,9 değerlerini alacaktır. En son,
i=3 iken j=1,5,9 olacak ve iç içe döngüler tamamlanmış olacaktır.
ÖRNEK:
var i,j:Int
for i in 1...10 {
for j in 1...i {
print("*")
}
}
Bu programın çıktısı ise aşağıdaki gibi olacaktır:
*
**
***
****
*****
******
*******
********
*********
**********
Program ended with exit code: 0
ÖRNEK:
var i,j:Int
for i in stride(from:10, to: 1, by: -1) {
for j in 1...i {
print("*")
}
}
Programın çıktısı ise aşağıdadır:
**********
*********
********
*******
******
*****
****
***
**
*
Program ended with exit code: 0
ÖRNEK:
var i,j:Int
for i in 1...10 {
for j in 1...10 {
if i==j {
print("*")
} else {
print(" ")
}
}
}
Programın çıktısı ise aşağıdadır:
*
*
*
*
*
*
*
*
*
*
Program ended with exit code: 0
ÖRNEK:
var i,j:Int
for i in 1...10 {
for j in 1...10 {
if i+j == 11 {
print("*")
} else {
print(" ")
}
}
}
Programın çıktısı ise aşağıdaki gibi olacaktır:
*
*
*
*
*
*
*
*
*
*
Program ended with exit code: 0
ÖRNEK:
func fakt(n:Int)->Int {
var f=1;
for i in 1...n {
f=f*i
}
return f;
}
var i,j:Int
var k=3
for i in 1...4 {
for j in 1...3 {
print("\(k)!=\(fakt(n: k))");
print(" ")
k += 1
}
}
Programın çıktısı ise aşağıdadır:
3!=6 4!=24 5!=120
6!=720 7!=5040 8!=40320
9!=362880 10!=3628800 11!=39916800
12!=479001600 13!=6227020800 14!=87178291200
İLK N TANE ASAL (PRIME) SAYININ BULUNMASI
var i:Int=3
var n:Int=15
var say:Int
var c:Int=0
print("ILK \(n) ..ASAL SAYI")
for say in 2...n {
for c in 2...i- 1 {
if i % c == 0
{ break }
}
if c == i
{
print(" \(i)")
say += 1;
}
i += 1;
}
PROGRAMIN ÇIKTISI
ILK 15 ..ASAL SAYI
3
5
7
11
13
17
19
23
29
31
37
41
43
47
İÇİÇE ÜÇ FOR ÇEVRİMİ ÖRNEĞİ
var i,j,k:Int;
for i in 1...2 {
for j in 1...3 {
for k in 1...2 {
print("i=\(i)...j=\(j)...k=\(k)")
}
print("")
}
print("")
}
PROGRAMIN ÇIKTISI
i=1...j=1...k=1
i=1...j=1...k=2
i=1...j=2...k=1
i=1...j=2...k=2
i=1...j=3...k=1
i=1...j=3...k=2
i=2...j=1...k=1
i=2...j=1...k=2
i=2...j=2...k=1
i=2...j=2...k=2
i=2...j=3...k=1
i=2...j=3...k=2