Sobes.tech
Junior — Middle

Оё имкон дорад, ки дар рафти оғозёбӣ объекте созем, ки ба таври пешфарз ҳамчун ғайришартӣ барои истифода ҳисобида мешавад?

sobes.tech AI

Ҷавоб аз AI

Бале, дар Swift имкон дорад объект дар равиши оғозёбӣ сохта шавад, ки интихобӣ (яъне, ҳатмӣ нест) бошад. Барои ин, кофист, ки хусусиятро ҳамчун Optional эълон кунед (масалан, var object: MyClass?). Дар конструктор, шумо метавонед ба ин хусусият арзиш таъин кунед ё онро ба nil гузоред. Ҳамин тариқ, объект дар асоси пешфарз ҳамчун интихобӣ ҳисобида мешавад ва метавонад баъдтар, агар лозим бошад, истифода шавад.

Масал:

class MyClass {
    var optionalObject: SomeType?

    init(createObject: Bool) {
        if createObject {
            optionalObject = SomeType()
        } else {
            optionalObject = nil // объект интихобӣ
        }
    }
}