Hva er bekvemmelighet initializers?
Swift versjon: 5.2
Paul Hudson @twostraws 28.Mai 2019
Utpekte initialisatorer er standard måte å opprette nye forekomster av en type på. Det er andre, kjent som bekvemmelighetsinitialisatorer, som er der for å hjelpe deg med å oppnå vanlige oppgaver lettere, men de er i tillegg til dine utpekte initialisatorer i stedet for en erstatning.
for eksempel kan du ha en Polygon
klasse som lagrer sett med poeng som skal tegnes senere, slik:
class Polygon { var points: init(points: ) { self.points = points }}
nå, hvis det bare var en struktur, kan du gå videre og legge til andre initialisatorer. Men som det er en klasse – hvor reglene for initialisering er ganske komplekse-kan du legge til en praktisk initialiserer som setter opp firkanter av en bestemt lengde, slik:
convenience init(squareWithLength length: CGFloat) { let points = self.init(points: points)}
Merk hvordan bekvemmelighetsinitialisatoren slutter ved å ringe den angitte initialisatoren – dette er et krav, og betyr at bekvemmelighetsinitialisatorene dine bare er ansvarlige for å sette opp delene som er unike for dem, i stedet for å gjøre alt.
SPONSET Bygging og vedlikehold av abonnementsinfrastruktur i appen er vanskelig. Heldigvis finnes det en bedre måte. Med RevenueCat kan du implementere abonnementer for appen din i timer, ikke måneder, slik at du kan komme tilbake til å bygge appen din.
Prøv det gratis
Sponsor Hacking Med Swift og nå verdens største Swift samfunnet!
Tilgjengelig fra iOS 8.0-lær Mer I min bok Swift Design Patterns
Lignende løsninger…
- Hva er utpekt initializers?
- Fixing «Class ViewController has no initializers»
- slik konverterer DU EN HTML-navnestreng til En UIColor
- slik bruker du vis controller containment
- hvordan konvertere en hex-farge til En UIColor
Om Swift Knowledge Base
Dette er en del av Swift Knowledge Base, en gratis, søkbar samling av løsninger for vanlige iOS-spørsmål.