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 // объект интихобӣ
}
}
}