UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

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.

BUILD THE ULTIMATE PORTFOLIO APP Most Swift tutorials help you solve one specific problem, but in my Ultimate Portfolio App series I show you how to get all the best practices into a single app: architecture, testing, performance, accessibility, localization, project organization, and so much more, all while building a SwiftUI app that works on iOS, macOS and watchOS.

Get it on Hacking with Swift+

Sponsor Hacking with Swift and reach the world's largest Swift community!

BUY OUR BOOKS
Buy Pro Swift Buy Pro SwiftUI 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 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 Beyond Code

Was this page useful? Let us know!

Average rating: 5.0/5

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.