Swift Academy · Ders

ARC Başvuruları Nasıl Sayar

ARC'nin derleme zamanında yaptıklarını, retain/release çağrılarını ve nesne yaşam sürelerini öğrenin.

1. ders / 412 adım

ARC Başvuruları Nasıl Sayar, 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

Otomatik Referans Sayımı (ARC), sınıf örneklerinin belleğini yönetir. Referansları nasıl saydığını anlamak, sızıntısız kod yazmanıza yardımcı olur.

ARC Ne Yapar

ARC, her sınıf örneğine işaret eden *güçlü* referansların sayısını izler. Sayı sıfıra ulaştığında `deinit` çağrılır ve bellek otomatik olarak serbest bırakılır.

Güçlü Referanslar

```swift var a: Dog? = Dog(name: "Rex") // count = 1 var b = a // count = 2 a = nil // count = 1 b = nil // count = 0 → deinit ```

ARC Derleme Zamanındadır

ARC, derleme zamanında tutma/bırakma çağrıları ekler — çöp toplayıcı gibi çalışma zamanında değil. Bunun anlamı şudur: • Çöp toplayıcı duraklamaları yoktur • Bellek ayırma işlemi belirlenebilirdir • Tutma/bırakma çağrıları nedeniyle kod boyutunda küçük bir ek yük vardır

Güçlü Referans Döngüsü Riski

```swift class Node { var next: Node? } var n1: Node? = Node() var n2: Node? = Node() n1?.next = n2 n2?.next = n1 // cycle! n1 = nil; n2 = nil // both stuck at count=1 — leaked! ```

Birden Çok Değişkenle Sayma

```swift class Engine {} var car1: Engine? = Engine() // count = 1 var car2 = car1 // count = 2 var car3 = car2 // count = 3 car1 = nil // count = 2 car2 = nil // count = 1 // Engine still alive — car3 holds it car3 = nil // count = 0 → deinit ```

Koleksiyonlarda ARC

```swift var dogs: [Dog] = [] dogs.append(Dog(name:"A")) // count = 1 dogs.append(Dog(name:"B")) // count = 1 each dogs.removeAll() // both deinit called ```

ARC Değer Türlerine UYGULANMAZ

Yapılar, numaralandırmalar ve demetler referans sayımına tabi değildir: ```swift struct Point { var x, y: Double } // no retain/release var p1 = Point(x:1,y:2) var p2 = p1 // copy — no ARC ```

deinit ile ARC'yi Gözlemleme

```swift class Cat { let name: String init(name: String) { self.name = name; print("\(name) born") } deinit { print("\(name) deallocated") } } var c: Cat? = Cat(name: "Luna") c = nil // "Luna deallocated" printed ```

ARC ve GC Performansı

• Çöp toplayıcı: toplamak için yürütmeyi düzenli aralıklarla duraklatır; işlem hacmi/gecikme dengesi vardır • ARC: sayı 0'a ulaştığında hemen serbest bırakır; duraklama yoktur • ARC ek yükü: güçlü bir referans üzerinden yapılan her atama, bir tutma/bırakma çifti gerektirir

Hızlı Kontrol

ARC, `deinit` çağrısını ne zaman yapar ve bir nesnenin belleğini serbest bırakır?

Özet

Temel çıkarımlar: • ARC, sınıf örneklerine yönelik güçlü referansları izler • Sayı 0 → `deinit` çağrılır → bellek serbest bırakılır • ARC derleme zamanında çalışır — çöp toplayıcı duraklamaları yoktur • Değer türleri (yapı/numaralandırma) ARC tarafından yönetilmez • Döngüler sayının 0'a ulaşmasını engeller → zayıf/sahipsiz referans kullanın Sırada: güçlü referans döngüleri.
Başlamak ücretsiz

Yapay zeka eğitmeniyle Swift öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
122
Dersler
409

Sıkça Sorulan Sorular

“ARC Başvuruları Nasıl Sayar” dersi ücretsiz mi?

Evet — “ARC Başvuruları Nasıl Sayar” 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.

“ARC Başvuruları Nasıl Sayar” dersinde ne öğreneceğim?

ARC'nin derleme zamanında yaptıklarını, retain/release çağrılarını ve nesne yaşam sürelerini öğ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.

“ARC Başvuruları Nasıl Sayar” 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. ARC Başvuruları Nasıl Sayar
  2. Başvuru Döngüleri: Nedenleri ve Tespiti
  3. weak ve unowned Başvurular
  4. Kapanış Yakalama Listeleri ve [weak self]
← Swift Academy Sayfasına Dön