Swift'de bellek ayırma

Bellek tahsisi, bir programın çalışma süresi boyunca belleği nasıl kullanacağını belirleyen, programlamanın çok önemli bir yönüdür. Swift'de, bellek tahsisi, otomatik referans sayımı (ARC) kullanılarak otomatik olarak gerçekleştirilir. ARC, bir nesneye kaç referansın var olduğunu takip eder ve nesneye başka referans kalmadığında nesneyi serbest bırakır.

Swift'de bellek tahsisini göstermek için basit bir sınıf örneğini ele alalım:

class Person {
    var name: String
    
    init(name: String) {
        self.name = name
    }
}

var person1: Person? = Person(name: "John")

Yeni bir nesne oluşturduğumuzda Personve onu atadığımızda person1, Swift nesne için bellek ayırır ve özelliğini "John" olarak Personbaşlatır . nameBu noktada değişken, bellekteki nesneye person1bir referans tutar .Person

var person2 = person1

person1 = nil

person2 = nil

Özetle, Swift'in otomatik referans sayımı, bizim için bellek ayırma ve yeniden ayırma işlemlerini gerçekleştirir. Yeni bir nesne oluşturup onu bir değişkene atadığımızda, Swift nesne için bellek ayırır ve özelliklerini başlatır. Bir nesneye daha fazla başvuru kalmadığında, Swift nesnenin yerini değiştirerek kullandığı belleği boşaltır.

Suggested posts

“O küçük ada her şeyi değiştirir”

Sürücü deneyimini yükseltmek için Lyft Canlı Etkinlikleri nasıl tasarladık?

“O küçük ada her şeyi değiştirir”

Yolculuk paylaşımı için ezber bozan bir şey Lyft'te yaptığımız her şey arasında, sürücüler ve sürücüler arasındaki alışmaların koreografisini yapmak en karmaşık ve önemli olanlardan biridir. Bu koreografiyi başarmak, Lyft'in pek çok şeyi iyi yapmasına bağlıdır, ancak yalnızca binicileri hıza uydurmak çok önemlidir.

Uygulama Yaşam Döngüsü

Uygulama Yaşam Döngüsü

: Uygulama başlatmadan kapatmaya döngü: Bellek veya verileri yöneterek kullanılabilirlik ⬆️ Güvenlik işlenebilir UIApplication, AppDelegate durumu: AppDelegate nesnesinin UIApplication nesnesinden gönderilen mesajı aldığı ve her birini yürüttüğü işlevleri tanımlar Çalışmıyor: Uygulamanın çalışmadığı durum Etkin değil: Uygulamanın çalıştığı ancak hiçbir etkinliğin alınmadığı durum Etkin: Uygulamanın çalıştığı ve bir olayın meydana geldiği durum Arka Plan: Uygulamanın arka planda olduğu ancak yürütülmekte olan kodun bulunduğu durum Askıya Alındı: Uygulamanın bulunduğu durum arka plan ve kod çalıştırma, AppDelegate.swift dosyasında delege işlevleri olacak SceneDelegate iOS 13'ten itibaren desteklenen çoklu sahne işlevine iyi yanıt vermek için AppDelegate / SceneDelegate AppDelegate 1.

Related posts

Alan Adları Hakkında Bilgi Bulma

Brian P. Hogan'ın Küçük, Keskin Yazılım Araçları'ndan bir alıntı

Alan Adları Hakkında Bilgi Bulma

facebook.com'a bir talepte bulunduğunuzda, bilgisayarınız o bağlantıyı kurabilmesi için bu alan adını bir IP adresine çevirmek üzere alan adını arar.

Sadece Bir Telefon Numarasıyla Herkesi Takip Edin | OSINT Soruşturması

Sadece Bir Telefon Numarasıyla Herkesi Takip Edin | OSINT Soruşturması

Bir OSINT Araştırmacısı, CTF Oyuncusu veya yalnızca istenmeyen aramalar alan biri olabilirsiniz. Bir reklamda gördüğünüz numarayı doğrulamaya çalışan biri.

Neden bazı serbest çalışanlar hayatlarını taklit ediyorlar?

Neden bazı serbest çalışanlar hayatlarını taklit ediyorlar?

Geçenlerde dünyanın en büyük profesyonel sosyal ağı olan Linkedin'deydim ve dikkatimi çeken, takip ettiğim serbest tasarımcıların gönderilerini buldum. Hepsi uçaklardan, dizüstü bilgisayarlarıyla sahilden, yüzme havuzlarından ve muhteşem manzaralı ofislerden fotoğraflar yayınladılar.

zamirler süper korkutucu

Çoğu zaman olduğu gibi birdenbire gözüme çarpıyor Her şey yeniden yarı yolda <Hayır, Pasifik'te kesip attığınız değil, karnavalda olan> Her manşet yüksek sesle… ..