Ana içeriğe geç
  1. 100 Günde SwiftUI Notları/

1.Gün - Swift ile Değişken, Sabit, String ve Sayılar

  • Değişkenler var ile, sabitler ise let anahtar kelimesi ile oluşturulurlar.
  • var olarak işaretlenmiş değişkenlerin değeri programın herhangi bir yerinde değiştirilebilmektedir.
  • let olarak işaretlenmiş değişkenlerin ise değerleri bir kez atandıktan sonra bir daha üzerlerinde değişiklik yapılamamaktadır.

Değişkenlerin Tanımlanması ve Değer Atanması #

var name = "Ted" //Değişken tanımlanması ve değer ataması
name = "Rebecca" //Değerin değiştirilmesi
name = "Keeley" //Değerin değiştirilmesi
let character = "Daphne" //Sabit bir değişken tanımlanmış ve değer ataması yapılmıştır.
character = "Eloise" //Hata verecektir!!! Çünkü bir sabit
character = "Francesca" //Hata verecektir!!! Çünkü bir sabit

Değişkenlere isim verilirken genel bir kural olarak “camel case” stili kullanılmalıdır. Bu stilde, isimlendirme küçük harf ile başlar, ikinci kelime bitişik ve büyük harf ile başlayacak şekilde bir yazım yapılır.

let managerName = "Michael Scott"
let dogBreed = "Samoyed"
let meaningOfLife = "How many roads must a man walk down?"

String Oluşturulması #

Bir değişken veya sabite metin atanması ile String oluşturulabilmektedir. String ifadeler çift tırnak (”) ile başlar ve biter. String ifadelerde, noktalama işaretleri, emojiler ve diğer karakterleri kullanabilirsiniz.

let actor = "Denzel Washington"
let filename = "paris.jpg"
var result = "⭐️ You win! ⭐️"

Burada karşımıza bir sorun çıkıyor. String içerisinde çift tırnak(”) karakterini kullanmak istediğimizde hata alacağız, çünkü Swift String ifadenin nerede bitip başladığını anlayamayacak. Bunu önlemek için ters eğik çizgi () kullanıyoruz.

let quote = "Then he tapped a sign saying \"Believe\" and walked away."
//ÇIKTI : Then he tapped a sign saying "Believe" and walked away.

String ifadeler oluşturulurken herhangi bir karakter sınırlaması bulunmamakta, fakat çok uzun satırlar yazmak okunabilirliği önemli ölçüde azaltmakta. Swift’in bunun için de bir çözümü var: String ifadeleri çok satıra bölmek.

//HATALI BİR ÖRNEK XCODE BUNU DERLEYEMEYECEKTİR.
let movie = "A day in
the life of an
Apple engineer"
let movie = """
A day in
the life of an
Apple engineer
"""

Yukarıdaki kod örneğinden de görebileceğiniz gibi bu işlem “”” 3 adet çift tırnak kullanılarak yapılabilmektedir. Dikkat edilmesi gereken 3 tırnak ifadesin tek bir satırda olması ve yazılacak String’in bu 3 tırnağın arasına yazılması gerekmektedir.

String’ler ile Kullanılabilen Bazı Metotlar #

.count #

String’teki boşluklar dahil tüm karakterlerin sayısını verir.

print(actor.count) //Denzel Washington
//ÇIKTI : 17

.uppercased() #

Verilen String ifadenin karakterleri büyük halini geri gönderir.

print(result.uppercased()) //"⭐️ You win! ⭐️"
//ÇIKTI : "⭐️ YOU WIN! ⭐️"

.hasPrefix() ve .hasSuffix() #

.hasPrefix() metodu içine yazılan String ifadenin kontrol ettiği String’in başlangıcında olup olmadığını kontrol eder.

print(movie.hasPrefix("A day"))
//ÇIKTI : true

.hasSuffix() metodu içine yazılan String ifadenin kontrol ettiği String’in sonunda olup olmadığını kontrol eder.

print(filename.hasSuffix(".jpg"))
//ÇIKTI : true

Integer ve Double Sayılar #

Integer Sayılar #

Tam sayılar Integer değişkenlerde saklanabilir.

let score = 10
//veya
let reallyBig = 100000000

Çok haneli sayıları yazarken, okunmasını kolaylaştırmak için _ kullanılabilir.

let reallyBig = 100_000_000

Aritmetik operatörler kullanılarak, tamsayılar üzerinde aritmetik işlmeler yapılabilmektedir.

let lowerScore = score - 2
let higherScore = score + 10
let doubledScore = score * 2
let squaredScore = score * score
let halvedScore = score / 2
print(score)

counter = counter + 5 ifadesini yazmak yerine, += operatörünü kullanabiliriz. (4 işlemin tamamında bu operatörleri kullanmak mümkündür. (+= , -=, *= , /= ))

Bir tamsayının, başka bir tamsayının katı olup olmadığını öğrenmek için .isMultiple(of:) fonksiyonu kullanılabilmektedir.

let number = 120
print(number.isMultiple(of: 3))
//ÇIKTI : true

Double Sayılar #

Ondalıklı sayılar Double değişkenlerde saklanabilirler. Ondalıklı sayılarla ile de tam sayılarda olduğu gibi aritmetik işlemler yapılmaktadır. Fakat burada dikkat edilmesi gereken, bir tamsayı ile bir ondalıklı sayıyı aritmetik işleme tabi tutamazsınız.

Aşağıdaki kod bloğu hata verecektir. Çünkü bir Int sayı ile Double toplanamaz.

let a = 1
let b = 2.0
let c = a + b

Bu işlemi yapabilmek için 2 farklı yaklaşım uygulayabiliriz.

Aşağıdaki kodda Double olan b değişkeni Int dönüştürülerek işlem yapılmıştır. (Hatırlayalım; b nin değeri 2.0 ’dı.)

let c = a + Int(b)

Veya Int olan a değişkeni Double bir sayıya dönüştürülebilir.

let c = Double(a) + b

Swift’te değişkenin ilk değeri verilirken türü belirlenebilmektedir. Daha sonrasında ise tür değişmemektedir. Örneğin aşağıdaki gibi String tanımlanan bir değişkene daha sonra Int bir değer ataması yapılamaz.

var name = "Nicolas Cage"
name = 57 //BU HATALI BİR İŞLEMDİR. !!!

İleride bazı kütüphanelerle çalışmaya başladığımızda bazı API’lerin ondalıklı sayıları saklamak için CGFloat kullandığını göreceğiz. Fakat Swift bize, CGFloat yerine Double kullanmamıza izin vermektedir.

Bu yazıyı İngilizce olarak da okuyabilirsiniz.
You can also read this article in English.

Bu yazı, SwiftUI Day 1 adresinde bulunan yazılardan kendim için aldığım notları içermektedir. Orjinal dersi takip etmek için lütfen bağlantıya tıklayın.
Görkem Güray
Yazar
Görkem Güray
Makine imalatı yapan bir firmada Endüstriyel Otomasyon Mühendisi olarak çalışıyorum. Genellikle Omron sistemler ile makine yazılımları geliştiriyorum.

comments powered by Disqus Mastodon