czym są inicjalizatory wygody?
Swift version: 5.2
Paul Hudson @twostraws 28 maja 2019
wyznaczone inicjalizatory są domyślnym sposobem tworzenia nowych instancji typu. Istnieją inne, znane jako inicjalizatory wygody, które pomagają łatwiej wykonywać typowe zadania, ale są one dodatkiem do wyznaczonych inicjatorów, a nie zamiennikiem.
na przykład możesz mieć Polygon
klasę, która przechowuje zestawy punktów, które mają być narysowane później, jak to:
class Polygon { var points: init(points: ) { self.points = points }}
teraz, jeśli to była tylko struktura, możesz dodać inne inicjalizatory. Ale ponieważ jest to klasa – gdzie zasady inicjalizacji są dość złożone – możesz dodać wygodny inicjalizator, który ustawia kwadraty o określonej długości, w ten sposób:
convenience init(squareWithLength length: CGFloat) { let points = self.init(points: points)}
zauważ, że inicjalizator wygody kończy się wywołaniem wyznaczonego inicjalizatora – jest to wymóg i oznacza, że Twoje inicjalizatory wygody są odpowiedzialne tylko za konfigurację części, które są dla nich unikalne, a nie za robienie wszystkiego.
sponsorowane Budowanie i utrzymywanie infrastruktury subskrypcji w aplikacji jest trudne. Na szczęście jest lepszy sposób. Dzięki RevenueCat możesz wdrożyć subskrypcje dla swojej aplikacji w ciągu kilku godzin, a nie miesięcy, dzięki czemu możesz wrócić do tworzenia aplikacji.
Wypróbuj za darmo
Sponsoruj hakowanie z Swift i dotrzyj do największej społeczności Swift na świecie!
dostępne od iOS 8.0 – dowiedz się więcej w mojej książce Swift Design Patterns
podobne rozwiązania…
- czym są oznaczone inicjalizatory?
- Fixing „Class ViewController has no initializers”
- Jak przekonwertować łańcuch nazw HTML na UIColor
- Jak używać containment kontrolera widoku
- Jak przekonwertować kolor szesnastkowy na UIColor
informacje o Swift Knowledge Base
jest to część Swift Knowledge Base, bezpłatnego, przeszukiwalnego zbioru rozwiązań dla typowych pytań iOS.