Sobes.tech
Junior — Middle

Vai inicilizācijas laikā ir iespējams izveidot objektu, kas pēc noklusējuma tiek uzskatīts par izvēles?

sobes.tech AI

Atbilde no AI

Jā, Swift iespējams izveidot objektu procesa laikā, kas būs izvēles (t.i., nav obligāti jālieto). Tam pietiek ar to, ka īpašība tiek deklarēta kā Optional (piemēram, var object: MyClass?). Inicializatorā var piešķirt šai īpašībai vērtību vai atstāt to kā nil. Tādējādi objekts pēc noklusējuma tiek uzskatīts par izvēles un to var izmantot vēlāk, ja nepieciešams.

Piemērs:

class MyClass {
    var optionalObject: SomeType?

    init(createObject: Bool) {
        if createObject {
            optionalObject = SomeType()
        } else {
            optionalObject = nil // izvēles objekts
        }
    }
}