ce sunt inițializatoare comoditate?

Swift version: 5.2

Paul Hudson @twostraws 28 Mai 2019

inițializatoarele desemnate sunt modul implicit de a crea noi instanțe de tip. Există și altele, cunoscute sub numele de inițializatoare de comoditate, care sunt acolo pentru a vă ajuta să îndepliniți mai ușor sarcinile comune, dar acestea sunt în plus față de inițializatoarele dvs. desemnate, mai degrabă decât un înlocuitor.

de exemplu, este posibil să aveți oPolygon clasă care stochează seturi de puncte pentru a fi trase mai târziu, ca aceasta:

class Polygon { var points: init(points: ) { self.points = points }}

acum, dacă ar fi doar o struct ai putea merge mai departe și adăugați alte inițializatoare. Dar, deoarece este o clasă – în care regulile de inițializare sunt destul de complexe – puteți adăuga un inițializator de comoditate care stabilește pătrate de o anumită lungime, astfel:

convenience init(squareWithLength length: CGFloat) { let points = self.init(points: points)}

notați modul în care inițializatorul de comoditate se termină apelând inițializatorul desemnat – aceasta este o cerință și înseamnă că inițializatorii dvs. de comoditate sunt responsabili doar pentru configurarea pieselor care sunt unice pentru ei, mai degrabă decât pentru a face totul.

Hacking cu Swift este sponsorizat de RevenueCat

construirea sponsorizat și menținerea infrastructurii de abonament în aplicație este greu. Din fericire, există o cale mai bună. Cu RevenueCat, puteți implementa abonamente pentru aplicația dvs. în ore, nu luni, astfel încât să puteți reveni la construirea aplicației.

încercați-l gratuit

sponsorizați Hacking-ul cu Swift și ajungeți la cea mai mare comunitate Swift din lume!

disponibil de la iOS 8.0-aflați mai multe în cartea mea Swift Design Patterns

soluții similare…

  • ce sunt inițializatorii desemnați?
  • fixare „clasa ViewController nu are inițializatori”
  • cum de a converti un șir de nume HTML într-un UIColor
  • cum să utilizați View Controller de izolare
  • cum de a converti o culoare hex la un UIColor

despre Swift Knowledge Base

aceasta este o parte din Swift Knowledge Base, o colecție gratuită, căutate de soluții pentru întrebări comune iOS.



Lasă un răspuns

Adresa ta de email nu va fi publicată.