SALE ENDS TODAY: Save 50% on all Swift books and bundles! >>

Değişkenler ve sabitler

Her kullanışlı program bir noktada veri depolamaya ihtiyaç duyar ve Swift'le bu iki şekilde yapılır: Değişkenler ve sabitler. Bir değişken, istediğiniz zaman değerini değiştirebileceğiniz bir veri deposudur. Bir sabit ise, değerini bir kez verebileceğin ve sonrasında değiştiremeyeceğin bir veri deposudur. Kısaca, değişkenlerin değerleri değiştirilebilir ama sabitlerin değerleri değişmez kalır. Kolay, değil mi?

Bu iki seçeneğe de sahip olmak anlamsız görünebilir, çünkü zaten değeri asla değişmeyecek bir değişken oluşturabilirsin. Öyleyse niye bir sabite ihtiyaç duyalım ki? Şöyle ki, birçok program geliştirici aslında mükemmel bir şekilde kod yazamaz (şok!) ve hatalar yapar.

Sabit ve değişkenleri ayırmanın avantajlarından biri, hata yaptığımızda XCode'un bize bunu söylemesidir. Eğer "şu tarihi bir sabit yap, çünkü biliyorum ki, o asla değişmeyecek", ve 10 satır sonra değiştirmeye çalışırsak, XCode uygulamamızı derlemeyi reddedecektir.

Aynı zamanda sabitler, XCode'un uygulamamızı derleme şekli hakkında kararlar almasını da sağlayacağı için önemlidir. Eğer bir değerin değişmeyeceğini bilirse, yazdığımız kodun daha hızlı çalışması için gereken iyileştirmeleri uygulayabilir.

Swift dilinde değişken oluşturabilmek için var anahtar sözcüğünü şu şekilde kullarınız:

var name = "Tim McGraw"

Hadi bunu oyun alanının içine koyalım ve geribildirimleri almaya başlayalım. Apple'ın çekirdek iOS çalışma çerçevesini çeken ve sonrasında gerekecek olan import UIKit satırı dışındaki her şeyi silin ve üstteki bu değişkeni ekleyin. Ekranınızdaki görüntü alttaki resim gibi olması gerekiyor.

XCode oyun alanında, solda yazdığınız kodun, birkaç saniye içinde sonuçları sağ tarafta göreceksiniz.

Bu bir değişken olduğu için, istediğiniz zaman değerini değiştirebilirsiniz, ama var anahtar sözcüğünü her defasında kullanmanıza gerek yok; bu sadece yeni bir değişken oluşturduğunuz zaman kullanılır. Şunu yazmayı deneyin:

var name = "Tim McGraw"
name = "Romeo"

Gördüğünüz gibi, ilk satır name değişkenini oluşturur ve ona ilk değerini verir. Ardından ikinci satırda name değişkeninin değeri "Romeo" olarak güncellenir. Oyun alanının sonuçlar bölümünde iki değeri de göreceksiniz.

Şimdi, ya değişken yerine bir sabit oluşturmuş olsaydık? Değişkenleri oluşturmak için var yerine let anahtar sözcüğünü kullanırız. Böylece kodun ilk satırı var name değil de, let name olur:

import UIKit
let name = "Tim McGraw"
name = "Romeo"

Ama şimdi bir sorun oluştu: XCode, üçünü satırda kırmızı uyarı sembolü gösteriyor ve name sözcüğünün altını kıvrımlı çizgi ile çiziyor. Eğer kırmızı uyarı sembolüne tıklarsanız, XCode size sorunun ne olduğunu söyler: XCode diliyle "Cannot assign to 'let' value 'name'" ('name' sözcüğünün değeri 'let' ile verilmiş); yani "bir sabiti değiştirmeye çalışıyorsun, bu olmaz" demek istiyor.

Eğer Swift dilinde bir sabitin değerini değiştirmek istersen, XCode uygulamanı derlemeyi reddecektir.

Sabitler, verilen değerin değiştirilmeyeceği konusunda kendinize ve Swift'e söz vermenin harika bir yoludur. Çünkü değiştirmeye çalışırsanız, XCode çalıştırmayı reddedecektir. Swift geliştiricileri, gereken her yerde sabitleri kullanmak konusunda güçlü bir tercihe sahiptir. Bu, kodunuzu anlamayı kolaylaştırır. Aslında Swift'in son versiyonunda XCode, bir şeyi değişken yaparsan, sonrasında onu değiştirmemeni aslında söylüyor.

Önemli not: Yazdığınız koddaki tüm değişkenlerin ve sabitlerin isimleri birbirinden farklı olmalıdır. Eğer aynı ismi şu şekilde iki kez yazarsanız, hata alırsınız:

var name = "Tim McGraw"
var name = "Romeo"

Eğer oyun alanı kodunuzda bir hata bulursa, hem kırmızı kutuda uyarı bayrağı gösterir, hem de çalışmayı reddeder. Eğer ikincisi olursa, sonuç panelinin rengi her zamanki siyahtan griye dönüşeceği için bunu bileceksin.

SPONSORED Instabug helps you identify and resolve severe crashes quickly. You can retrace in-app events and know exactly which line of code caused the crash along with environment details, network logs, repro steps, and the session profiler. Ask more questions or keep users up-to-date with in-app replies straight from your dashboard. Instabug takes data privacy seriously, so no one sees your data but you! See more detailed features comparison and try Instabug's crash reporting SDK for free.

Save 50% on all books and bundles

The biggest ever Hacking with Swift sale is now on, letting you save 50% on all books and bundles. Learn something new with Swift and enjoy great savings while the sale lasts!

Click here to save 50% in our Black Friday sale!

BUY OUR BOOKS
Buy Pro Swift Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift (Vapor Edition) Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Server-Side Swift (Kitura Edition) Buy Beyond Code

Was this page useful? Let us know!