Swift'de 'mutating'

Hepimizin bildiği gibi, Sınıflar referans türüdür, Yapılar ve Numaralandırmalar ise swift'te bir değer türüdür. Bunun anlamı, bir sınıf nesnesinin, nesnenin tek bir örneğini paylaşması ve herhangi bir işleve veya yeni nesneye aktarılırsa aynı referansı iletmesidir, oysa değer türü, bunun bir kopyasını oluşturan ve yalnızca değeri iletendir.

This post was originally posted at https://agrawalsuneet.github.io/blogs/mutating-in-swift/ and reposted on Medium on 29th Mar 2019.

class Employee {
    var name : String
    var teamName : String
init(name: String, teamName: String) {
        self.name = name
        self.teamName = teamName
    }
func changeTeam(newTeamName : String){
        self.teamName = newTeamName
    }
}
var emp1 = Employee(name : "Suneet", teamName:"Engineering")
print(emp1.teamName)    //Engineering
emp1.changeTeam(newTeamName : "Product")
print(emp1.teamName)    //Product

      

struct Employee {
    var name : String
    var teamName : String
init(name: String, teamName: String) {
        self.name = name
        self.teamName = teamName
    }
func changeTeam(newTeamName : String){
        self.teamName = newTeamName
        //cannot assign to property: 'self' is immutable
}
}

cannot assign to property: 'self' is immutable

Derleyici ayrıca olası çözüm konusunda bize yardımcı olur

note: mark method 'mutating' to make 'self' mutable

struct Employee {
    var name : String
    var teamName : String
init(name: String, teamName: String) {
        self.name = name
        self.teamName = teamName
    }
mutating func changeTeam(newTeamName : String){
        self.teamName = newTeamName
    }
    
}
var emp1 = Employee(name : "Suneet", teamName:"Engineering")
print(emp1.teamName)    //Engineering
emp1.changeTeam(newTeamName : "Product")
print(emp1.teamName)    //Product

      

  • Sıralama
  • yapı
  • Int
  • Çift
  • Dize
  • Dizi
  • Sözlük
  • Ayarlamak
  • Tuple
  • Fonksiyonlar
  • Kapanışlar
  • Sınıf

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

Tasarımda iki yıl - İyi, kötü ve çirkin…

Tasarımda iki yıl - İyi, kötü ve çirkin…

"Hey Siri, Olivia Dean'in Me Dive oyununu çal." Nijerya, Akure'deki Future Academy Africa'da stajıma başladığımda Mayıs 2021'di.

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.

Yavaş Erozyon: İnsanların Kariyerlerinde Boşa Harcadıkları Yolları Ortaya Çıkarma

Yavaş Erozyon: İnsanların Kariyerlerinde Boşa Harcadıkları Yolları Ortaya Çıkarma

Günümüzün hızlı tempolu ve rekabetçi dünyasında, kişinin kariyeri kişisel gelişim, finansal istikrar ve genel yaşam memnuniyetinde önemli bir rol oynamaktadır. Bununla birlikte, birçok kişi profesyonel yaşamlarında giderek tükenmekte olan amansız bir durgunluk ve tatminsizlik döngüsüne kapılmış durumda.

Güvenli Bir Çalışma Ortamı Oluşturma

Güvenli Bir Çalışma Ortamı Oluşturma

"Ben tehlikedeyken beni koruyacak. Beni çadırına saklayacak.