Sobes.tech
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
        }
    }
}