Junior — Middle
Létrehozható-e inicializáció közben egy olyan objektum, amely alapértelmezés szerint opcionálisnak számít a használathoz?
sobes.tech MI
Válasz az MI-től
Igen, Swiftben lehetőség van arra, hogy az inicializálás során létrehozzunk egy objektumot, amely opcionális (azaz, nem kötelező a használata). Ehhez elegendő az attribútumot Optional-ként deklarálni (például, var object: MyClass?). Az inicializálóban értéket rendelhetünk ehhez az attribútumhoz, vagy nil-ként hagyhatjuk. Így az objektum alapértelmezés szerint opcionálisnak számít, és később, ha szükséges, használható.
Példa:
class MyClass {
var optionalObject: SomeType?
init(createObject: Bool) {
if createObject {
optionalObject = SomeType()
} else {
optionalObject = nil // opcionális objektum
}
}
}