„mutowanie” w Swift

Jak wszyscy wiemy, Klasy są typem referencyjnym, podczas gdy Struktury i Wyliczenia są typu wartościowego w języku szybkim. Oznacza to, że obiekt klasy współużytkuje pojedyncze wystąpienie obiektu i przekazuje to samo odniesienie, jeśli jest przekazywane do dowolnej funkcji lub nowego obiektu, podczas gdy typ wartości to ten, który tworzy jego kopię i przekazuje tylko wartość.

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

Kompilator pomaga nam również w możliwym rozwiązaniu

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

      

  • enum
  • struct
  • Int
  • Podwójnie
  • Strunowy
  • Szyk
  • Słownik
  • Zestaw
  • Tuple
  • Funkcje
  • Domknięcia
  • Klasa

Suggested posts

„Ta mała wyspa zmienia wszystko”

Jak zaprojektowaliśmy Lyft Live Activities, aby poprawić wrażenia z jazdy

„Ta mała wyspa zmienia wszystko”

Zmiana gry w przypadku wspólnych przejazdów Spośród wszystkich rzeczy, które robimy w Lyft, układanie choreografii między pasażerami a kierowcami jest jedną z najbardziej złożonych i konsekwentnych. Wykonanie tej choreografii zależy od tego, czy Lyft wykona wiele rzeczy dobrze, ale po prostu utrzymywanie prędkości jeźdźców jest niezbędne.

Cykl życia aplikacji

Cykl życia aplikacji

: Cykl od uruchomienia aplikacji do zamknięcia: Użyteczność poprzez zarządzanie pamięcią lub danymi ⬆️ Zabezpieczenia mogą być przetwarzane Sytuacja UIApplication, AppDelegate: Definiuje funkcje, które obiekt AppDelegate odbiera komunikaty wysyłane z obiektu UIApplication i wykonuje każdy Nie działa: Stan, w którym aplikacja nie jest uruchomiona Nieaktywna: Stan, w którym aplikacja jest uruchomiona, ale nie są odbierane żadne zdarzeniaAktywny: stan, w którym aplikacja jest uruchomiona i wystąpiło zdarzenieTło: stan, w którym aplikacja działa w tle, ale kod jest wykonywanyWstrzymana: stan, w którym aplikacja znajduje się w w tle i bez uruchomionego kodu do delegowania funkcji w pliku AppDelegate.swift SceneDelegate Aby dobrze reagować na funkcję wielu scen obsługiwaną od systemu iOS 13 wzwyż AppDelegate / SceneDelegate AppDelegate 1.

Related posts

Archiwum tego zagrożenia: tom 7 Black Basta

Archiwum tego zagrożenia: tom 7 Black Basta

W dzisiejszym połączonym świecie zagrożenie cyberatakami jest bardziej powszechne niż kiedykolwiek. Cyberprzestępcy i podmioty państwowe nieustannie starają się wykorzystywać luki w zabezpieczeniach i kraść cenne dane, stanowiąc poważne zagrożenie dla organizacji każdej wielkości.

Jak uratować planetę i zarabiać pieniądze

Jak uratować planetę i zarabiać pieniądze

Ile razy bez zastanowienia wyrzuciłeś plastikową butelkę, szklany słoik, aluminiową puszkę lub pakiet zielonej energii? Ile razy chciałeś dostać coś w zamian za ich recykling? Jeśli jesteś jak większość ludzi, odpowiedź brzmi prawdopodobnie wiele razy. Recykling jest często postrzegany jako kłopot, przykry obowiązek lub obowiązek, który nie przynosi żadnych natychmiastowych ani wymiernych korzyści.

Dlaczego niektórzy freelancerzy udają swoje życie

Dlaczego niektórzy freelancerzy udają swoje życie

Niedawno byłem na Linkedin, największej profesjonalnej sieci społecznościowej na świecie, i znalazłem posty obserwowanych przeze mnie niezależnych projektantów, którzy przykuli moją uwagę. Wszyscy zamieszczali zdjęcia z samolotów, na plaży z laptopami, z basenów i biur z niesamowitymi widokami.

Telewizja sieciowa Twitter

Telewizja sieciowa Twitter

To, co stare, jest teraz znowu nowe, a to, co kiedyś było lśniącą, błyszczącą rzeczą, teraz wydaje się nudne. Nie mówię o dżinsach JNCO, które powróciły wśród fajnych dzieciaków w śródmieściu wraz z innymi modami późnych lat 90.