0Pricing
Swift Academy · Ders

Üye Başlatıcıları ve Özel Başlatıcılar

Otomatik oluşturulan üye başlatıcılarını anlamayı ve özel başlatıcılar yazmayı öğrenin.

Üye Başlatıcıları ve Özel Başlatıcılar, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.

Hoş geldiniz

Swift yapıları, tüm saklanan özellikleri kabul eden ücretsiz bir *üyelere göre başlatıcıya* sahiptir. Ancak bunu kendi başlatıcı mantığınızla özelleştirebilir veya genişletebilirsiniz.

Otomatik Oluşturulan Üyelere Göre Başlatıcı

```swift struct Point { var x: Double var y: Double } let p = Point(x: 3.0, y: 4.0) // auto-generated init ``` `init` kodunu kendiniz yazmanız gerekmez — derleyici bunu sağlar.

Özel bir başlatıcı ekleme

```swift struct Circle { var radius: Double var area: Double init(radius: Double) { self.radius = radius self.area = .pi * radius * radius } } let c = Circle(radius: 5.0) ```

Üye bazlı başlatıcıyı koruma

Özel bir başlatıcı tanımlamak, otomatik oluşturulan üye bazlı başlatıcıyı devre dışı bırakır. İkisini de korumak için özel başlatıcıyı bir uzantıya yerleştiriniz: ```swift struct Rect { var width: Double; var height: Double } extension Rect { init(square side: Double) { self.init(width: side, height: side) } } // Both Rect(width:height:) and Rect(square:) available ```

Varsayılan özellik değerleri

```swift struct Config { var debug = false var maxRetries = 3 var timeout: TimeInterval = 30 } let c1 = Config() // all defaults let c2 = Config(debug: true) // memberwise with overrides ```

self.init ile başlatıcı yetkilendirmesi

```swift struct Temperature { var celsius: Double init(celsius: Double) { self.celsius = celsius } init(fahrenheit: Double) { self.init(celsius: (fahrenheit - 32) / 1.8) } init(kelvin: Double) { self.init(celsius: kelvin - 273.15) } } ```

Başarısız olabilen başlatıcılar

```swift struct Percentage { let value: Double init?(_ value: Double) { guard (0...100).contains(value) else { return nil } self.value = value } } let p = Percentage(105) // nil ```

Doğrulamalı başlatıcı

```swift struct Username { let value: String init?(_ raw: String) { let trimmed = raw.trimmingCharacters(in: .whitespaces) guard trimmed.count >= 3 else { return nil } self.value = trimmed } } ```

Yapı başlatıcısı ile sınıf başlatıcısı

Sınıf başlatıcılarından temel farklar: • Yapılar `self.init()` yetkilendirmesini kullanabilir • Yapılar başlatıcıları devralmaz (`super.init()` yoktur) • Kullanımdan önce saklanan tüm özellikler başlatılmış olmalıdır • `required` veya `designated` / `convenience` anahtar sözcükleri yoktur

init(from decoder:) ön izlemesi

`Decodable` protokolüne uyan yapılar otomatik olarak bir başlatıcı edinir: ```swift struct User: Decodable { let name: String let age: Int } // Auto-synthesised init(from:) for JSON decoding let user = try JSONDecoder().decode(User.self, from: json) ```

Hızlı kontrol

Otomatik oluşturulan üye bazlı başlatıcıyı korumak için özel bir başlatıcıyı nereye yerleştirmelisiniz?

Özet

Temel çıkarımlar: • Yapılar, derleyiciden otomatik olarak üye bazlı bir başlatıcı edinir • Yapı gövdesindeki özel başlatıcılar üye bazlı başlatıcıyı devre dışı bırakır • İkisini de korumak için özel başlatıcıları uzantılara yerleştiriniz • Başlatıcılar arasında yetkilendirme yapmak için `self.init()` kullanınız • Başarısız olabilen başlatıcılar geçersiz girdide `nil` döndürür Sıradaki konu: saklanan özellikler ve özellik gözlemcileri.

Sıkça Sorulan Sorular

“Üye Başlatıcıları ve Özel Başlatıcılar” dersi ücretsiz mi?

Evet — “Üye Başlatıcıları ve Özel Başlatıcılar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.

“Üye Başlatıcıları ve Özel Başlatıcılar” dersinde ne öğreneceğim?

Otomatik oluşturulan üye başlatıcılarını anlamayı ve özel başlatıcılar yazmayı öğrenin. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Swift Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Üye Başlatıcıları ve Özel Başlatıcılar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Üye Başlatıcıları ve Özel Başlatıcılar
  2. Saklanan Özellikler ve Özellik Gözlemcileri
  3. Yapılarda Hesaplanan Özellikler
  4. Değiştirici Yöntemler ve COW Anlambilimi
← Swift Academy Sayfasına Dön