iOS – Swift Dersleri (Strings, Characters)

Merhaba Arkadaşlar,
Mobilhanem üzerinden devam ettiğimiz Swift paylaşımlarımızı String ve Character’ler ile sürdürüyoruz. String’ler, Character dizisi olarak ifade edebileceğimiz data tipleridir. String’lerin içeriği karakter (Character) değerlerinden oluşur.

String’leri aşağıdaki gibi çift tırnak içinde başlangıç değeri vererek tanımlayabiliriz:

let someString = "Hello World!"
//Bu ifade ile someString sabitinin tipi String olarak ayarlanmış olur.

Boş String

Bir string’e başlangıç değeri olarak boş string vermek istersek aşağıdaki yollardan birini kullanabiliriz:

var emptyString = ""               // boş string
var anotherEmptyString = String()  // initializer syntax
// her iki string de boş string değerine sahiptir

Bir String’in boş olup olmadığın isEmpty özelliği (property) ile anlayabiliriz:

if emptyString.isEmpty {
    print("Gösterilecek bir şey yok")
}
// ekran çıktısı "Gösterilecek bir şey yok"

String Değişkenliği (Mutability)

Objective C’de içeriği değiştirilebilir ya da değiştirilemez stringler NSString ve NSMutableString olarak birbirinden ayrılıyordu. Swift’te böyle bir ayrım bulunmuyor.

var variableString = "Horse"
variableString += " and carriage"
// variableString değişkeninin yeni değeri "Horse and carriage"
 
let constantString = "Highlander"
constantString += " and another Highlander"
// burada compile-time hatası alırız, çünkü constantString sabit olarak tanımlanmış (let), değiştirilemez.

Not: String’ler value types‘tır. Bir string’i fonksiyon ya da metod’a parametre olarak gönderdiğimizde String’in değeri parametre olarak kopyalanır. Fonksiyon/metod içinde yapılan herhangi bir değişiklik, parametre olarak gönderilen String’in içeriğini etkilemez.

Character’ler

String’i oluşturan Character’lere ulaşmanın bir yolu for-in döngüsü kullanmaktır. (Döngüler ile ilgili daha fazla bilgi için: Döngüler (Loops))

for character in "Dog!?".characters {
    print(character)
}
// D
// o
// g
// !
// ?

Character sabitini aşağıdaki gibi de oluşturabiliriz:

let exclamationMark: Character = "!"

Character dizisinden de String oluşturabiliriz:

let catCharacters: [Character] = ["C", "a", "t", "!", "?"]
let catString = String(catCharacters)
print(catString)
// prints "Cat!?"

String ve Character’leri Birleştirme

String’ler artı (+) işareti ile birleştirilebilirler:

let string1 = "merhaba"
let string2 = " herkese"
var welcome = string1 + string2
// welcome değişkeninin içeriği ->; "merhaba herkese"

String birleştirmenin bir başka yolu:

var instruction = "look over"
instruction += string2
// instruction içeriği -> "look over there"

String’e bir Character eklemek istersek append() methodunu kullanıyoruz:

let exclamationMark: Character = "!"
welcome.append(exclamationMark)
// welcome içeriği -> "merhaba herkese!"

String Interpolation

Değişik tiplerdeki değişkenleri, sabitleri vs. kullanarak String oluşturmaya String Interpolation diyebiliriz:

let multiplier = 3
let message = "\(multiplier) çarpı 2.5 eşittir \(Double(multiplier) * 2.5)"
// message içeriği "3 çarpı 2.5 eşittir 7.5"

String karakterlerini Sayma

Bir String’deki karakter sayısını bulmak için count özelliğini (property) kullanabiliriz:

let unusualMenagerie = "Koala ?, Snail ?, Penguin ?, Dromedary ?"
print("unusualMenagerie \(unusualMenagerie.characters.count) karakterden oluşur.")
// ekran çıktısı "unusualMenagerie 40 karakterden oluşur."

String Kıyaslama (Comparing)

String’leri (==) ve (!=) ile kıyaslayabiliriz:

let str1 = "Mobilhanem.com yazilari"
let str2 = "Mobilhanem.com yazilari"
if str1 == str2 {
    print("Bu iki string birbirine eşittir")
}
// ekran çıktısı "Bu iki string birbirine eşittir"

Bu paylaşımımızda String ve Character sınıflarına değinmeye çalıştık. Mobilhanem‘de Swift paylaşımlarına devam edeceğiz. Bizi takipte kalın. Soru ve yorumlarınız için aşağıdaki formu kullanabilirsiniz.

Swift ile ilgili tüm paylaşımlarımıza buradan ulaşabilirsiniz.

iOS – Swift Dersleri (Collection Types)

Kaynak: developer.apple.com

0

Aycan Ayhan

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?