mik a kényelmi inicializátorok?

Swift verzió: 5.2

Paul Hudson @twostraws május 28th 2019

a kijelölt inicializátorok az alapértelmezett módja az új típusú példányok létrehozásának. Vannak mások, úgynevezett kényelmi inicializátorok, amelyek segítenek a közös feladatok könnyebb elvégzésében, de ezek a kijelölt inicializátorok mellett vannak, nem pedig helyettesítők.

például lehet, hogy van egy Polygon osztály, amely tárolja a később húzandó pontok halmazát, mint ez:

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

most, ha ez csak egy struct lenne, akkor további inicializátorokat adhat hozzá. De mivel ez egy osztály – ahol az inicializálás szabályai meglehetősen összetettek – hozzáadhat egy kényelmi inicializálót, amely meghatározott hosszúságú négyzeteket állít fel, mint ez:

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

vegye figyelembe, hogy a kényelmi inicializáló hogyan fejeződik be a kijelölt inicializáló meghívásával – ez követelmény, és azt jelenti, hogy a kényelmi inicializálók csak a rájuk jellemző alkatrészek beállításáért felelősek, nem pedig mindent megtesznek.

hackelés Swift által szponzorált RevenueCat

szponzorált épület és fenntartása in-app előfizetési infrastruktúra nehéz. Szerencsére van egy jobb út. A RevenueCat, akkor végre előfizetések az alkalmazás óra, nem hónap, így kap vissza az épület az alkalmazás.

próbálja ki ingyen

szponzor hackelés Swift és eléri a világ legnagyobb Swift közösség!

elérhető iOS 8.0 – ról-további információ a könyvemben Swift tervezési minták

hasonló megoldások …

  • mik azok a kijelölt inicializátorok?
  • rögzítése “Class ViewController nincs inicializáló”
  • hogyan lehet átalakítani a HTML név karakterlánc egy UIColor
  • hogyan kell használni view controller elszigetelés
  • hogyan lehet átalakítani a hexa szín egy UIColor

A Swift Tudásbázis

Ez része a Swift Tudásbázis, egy ingyenes, kereshető gyűjteménye megoldások gyakori iOS kérdéseket.



Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.