İçeriğe geç

Swift · 6/8

Uygulamaya özel: ilk iPhone ekranın

SwiftUI içinde durumdan üretilen küçük bir ekran kurmak.

Önerilen çalışma: 25–45 dakika; örnekleri kendin uygula. Süre kişiye göre değişir.

Bu sayfada · 9 başlık

Başlamadan önce

Önceki dersteki örneği çalıştırmış olman ve dosya/çıktı ayrımını biliyor olman yararlı.

Öğrenme sırası: konuyu oku → çıktıyı tahmin et → örneği değiştir → alıştırmayı çöz → cevabını gerekçelendir.

Swift · Uygulamaya özel: ilk iPhone ekranın — videolu atölye: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.

Videoyla adım adım izle

Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.

Video bölümleri ve tam metin

Uygulamaya özel: ilk iPhone ekranın

SwiftUI içinde durumdan üretilen küçük bir ekran kurmak.

Kavramı kur

Swift dili ile SwiftUI çatısı aynı şey değildir. print konsola yazarken Text bir arayüz görünümüdür. Bu ders Xcode’da SwiftUI kullanan bir iOS App projesi gerektirir; sayfadaki konsol derleyicisinde iPhone ekranı açılmaz. Önce projeyi ve hedef simülatörü seç, sonra ContentView dosyasını düzenle.

Neden böyle çalışıyor?

SwiftUI arayüzünü mevcut duruma göre tanımlarsın. @State bir görünümün yerel değişen durumunu saklar. Düğme sayacı artırınca Text içindeki gösterim yeni değerle yeniden değerlendirilir. Ekran yazısını elle arayıp değiştirmek yerine durumun değişmesi görünümü günceller.

Çalışma sırası

VStack alt görünümleri dikey yerleştirir. spacing aralarındaki mesafeyi, padding dıştaki iç boşluğu düzenler. Başlangıçta yalnızca sayaç ve düğme kur; sonra sıfırlama gibi ikinci bir etkileşim ekle. Fiziksel telefona yükleme, imzalama ve yayınlama bu küçük konsol örneklerinden farklı süreçlerdir.

İkinci örnek · 1

@State sayacın değişen yerel durumunu saklar. Kodun tamamı yazılı derste bulunur.

Kod

import SwiftUI

struct ContentView: View {
    @State private var sayi = 0
    var body: some View {
        VStack(spacing: 16) {
            Text("Sayaç: \(sayi)")
            Button("Artır") { sayi += 1 }
        }
        .padding()
    }
}

Beklenen sonucu oku

Button olayı durumu artırır; görünüm kendini yeni değerle günceller.

Beklenen çıktı: Xcode simülatöründe Sayaç: 0 yazısı ve Artır düğmesi; dokundukça değer artar.

Bir değeri sen değiştir

Xcode’da yeni SwiftUI iOS App projesinde örneği ContentView içine koy. Artır düğmesini dene; konsol ile ekrandaki metnin farkını açıkla.

Hata nereden gelir?

SwiftUI kodunu yalnızca Swift konsol yorumlayıcısında çalıştırmak UI çatısı bulunamadı hatası verebilir; Xcode App hedefini kullan.

Kendi çözümünü kur

Sıfırla düğmesi ekle; sayacı 0 yaptığında görünümün güncellendiğini doğrula. Button("Sıfırla") { sayi = 0 } ifadesini VStack içindeki ilk düğmenin altına ekle.

Çözüm varyasyonu · 1

Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.

Kod

import SwiftUI

struct ContentView: View {
    @State private var sayi = 0
    var body: some View {
        VStack(spacing: 16) {
            Text("Sayaç: \(sayi)")
            Button("Artır") { sayi += 1 }
            Button("Sıfırla") { sayi = 0 }
        }
        .padding()
    }

Çözüm varyasyonu · 2

Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.

Kod

}

Kendini kontrol et

@State sayacı değiştiğinde Text neden yeni sayıyı gösterir? Yanıt: SwiftUI görünümü mevcut duruma göre yeniden değerlendirir; arayüz o durumdan üretilir.

Beklenen çıktı: Artır ve Sıfırla düğmeleri aynı @State değerini değiştirir.

Konu anlatımı

Swift dili ile SwiftUI çatısı aynı şey değildir. print konsola yazarken Text bir arayüz görünümüdür. Bu ders Xcode’da SwiftUI kullanan bir iOS App projesi gerektirir; sayfadaki konsol derleyicisinde iPhone ekranı açılmaz. Önce projeyi ve hedef simülatörü seç, sonra ContentView dosyasını düzenle.

SwiftUI arayüzünü mevcut duruma göre tanımlarsın. @State bir görünümün yerel değişen durumunu saklar. Düğme sayacı artırınca Text içindeki gösterim yeni değerle yeniden değerlendirilir. Ekran yazısını elle arayıp değiştirmek yerine durumun değişmesi görünümü günceller.

VStack alt görünümleri dikey yerleştirir. spacing aralarındaki mesafeyi, padding dıştaki iç boşluğu düzenler. Başlangıçta yalnızca sayaç ve düğme kur; sonra sıfırlama gibi ikinci bir etkileşim ekle. Fiziksel telefona yükleme, imzalama ve yayınlama bu küçük konsol örneklerinden farklı süreçlerdir.

İlk örneği oku ve dene

6

Uygulamaya özel: ilk iPhone ekranın

SwiftUI ile birkaç satırda bir uygulama ekranı tasarlayabilirsin. VStack öğeleri alt alta dizer.

Swift
import SwiftUI

struct ContentView: View {
    var body: some View {
        VStack {
            Text("Merhaba Dünya! 👋")
                .font(.largeTitle)
            Button("Bana dokun") {
                print("Butona dokunuldu!")
            }
        }
    }
}

▶ Sonuç

iPhone ekranında büyük bir "Merhaba Dünya! 👋" yazısı ve altında "Bana dokun" butonu görünür.

Bu örnek bir SwiftUI görünümüdür; sayfadaki konsol derleyicisinde iPhone ekranı açmaz. Xcode’da yeni bir iOS App projesi oluşturup ContentView.swift içeriğini bu kodla değiştir; simülatörde çalıştır. Xcode rehberi →

Adım adım neden böyle çalışıyor?

  1. @State sayacın değişen yerel durumunu saklar.
  2. body mevcut durumdan arayüz tanımlar.
  3. Text sayıyı metne yerleştirir.
  4. Button olayı durumu artırır; görünüm kendini yeni değerle günceller.
106

İkinci çözümlü örnek

SwiftUI içinde durumdan üretilen küçük bir ekran kurmak.

Swift
import SwiftUI

struct ContentView: View {
    @State private var sayi = 0
    var body: some View {
        VStack(spacing: 16) {
            Text("Sayaç: \(sayi)")
            Button("Artır") { sayi += 1 }
        }
        .padding()
    }
}

▶ Sonuç

Xcode simülatöründe Sayaç: 0 yazısı ve Artır düğmesi; dokundukça değer artar.

Bu örnek bir SwiftUI görünümüdür; sayfadaki konsol derleyicisinde iPhone ekranı açmaz. Xcode’da yeni bir iOS App projesi oluşturup ContentView.swift içeriğini bu kodla değiştir; simülatörde çalıştır. Xcode rehberi →

Kolaydan zora sen dene

  1. Xcode’da yeni SwiftUI iOS App projesinde örneği ContentView içine koy.
  2. Artır düğmesini dene; konsol ile ekrandaki metnin farkını açıkla.
  3. Sıfırla düğmesi ekle; sayacı 0 yaptığında görünümün güncellendiğini doğrula.
İpucunu aç

Button("Sıfırla") { sayi = 0 } ifadesini VStack içindeki ilk düğmenin altına ekle.

Üç görevin açıklamalı çözümünü oku
  1. Kod bir SwiftUI App hedefindeki ContentView içine konur; konsol hedefi ekran oluşturmaz.
  2. Button @State sayıyı değiştirir; Text yeni durumdan güncellenir. print yalnızca konsolu etkiler.
  3. VStack içine Button("Sıfırla") { sayi = 0 } ekle. Tam görünüm varyasyonu aşağıda bulunur.
Bir çözüm varyasyonu gör
206

Çözüm varyasyonu

Önce kendi görevlerini dene. Bu varyasyonda girdi ve sonuçları karşılaştır.

Swift
import SwiftUI

struct ContentView: View {
    @State private var sayi = 0
    var body: some View {
        VStack(spacing: 16) {
            Text("Sayaç: \(sayi)")
            Button("Artır") { sayi += 1 }
            Button("Sıfırla") { sayi = 0 }
        }
        .padding()
    }
}

▶ Sonuç

Artır ve Sıfırla düğmeleri aynı @State değerini değiştirir.

Bu örnek bir SwiftUI görünümüdür; sayfadaki konsol derleyicisinde iPhone ekranı açmaz. Xcode’da yeni bir iOS App projesi oluşturup ContentView.swift içeriğini bu kodla değiştir; simülatörde çalıştır. Xcode rehberi →

Yaygın hata ve çözümü

  1. SwiftUI kodunu yalnızca Swift konsol yorumlayıcısında çalıştırmak UI çatısı bulunamadı hatası verebilir; Xcode App hedefini kullan.
  2. Durumu sıradan sabitle karıştırmak değişimi görünür yapmaz; bu örnekte değişen sayaç için @State var gerekir.

Kendini değerlendir

SwiftUI’de ekranda yazı göstermek için hangisi kullanılır?

Ezberlemeden açıklayabiliyor musun?

@State sayacı değiştiğinde Text neden yeni sayıyı gösterir?

Açıklamalı yanıt

SwiftUI görünümü mevcut duruma göre yeniden değerlendirir; arayüz o durumdan üretilir.

Kendi çözümünde bir girdiyi değiştir. Çalıştırmadan önce beklenen sonucu yaz; gerçek sonuçla karşılaştır ve fark varsa hangi satırdan kaynaklandığını açıkla.

Kaynak ve çalışma ortamı

Örnekler küçük öğretim senaryolarıdır. Java/C#/PHP/Swift çalışma ortamını kendi cihazında ayrıca doğrula; yazılı sonuçlar beklenen davranışı açıklar.

Resmî dil belgeleri
Bu içerik işine yaradı mı?

Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.