Sobes.tech
Junior — Middle

Extentionте функционалдуулук кеңейтүүдө колдонуу үчүн кандай түрдөгү баштапкы түзмөктөр бар?

sobes.tech AI

AIден жооп

Swiftте кеңейтүүлөр (Extensions) жаңы белгиленген (designated) баштапкы түзүүчүлөрдү кошо албайт, бирок аларга ыңгайлуу (convenience) баштапкы түзүүчүлөрдү кошо алат, эгер алар учурдагы менен кагылышпаса. Ошондой эле, учурдагы баштапкы түзүүчүлөрдү кайра аныктоо мүмкүн эмес.

Демек, кеңейтүүлөрдө гана ыңгайлуу баштапкы түзүүчүлөрдү ишке ашырууга болот, алар бар белгиленген баштапкы түзүүчүлөрдү чакырып, объект түзүүнү жеңилдетет.

Мисал:

extension UIColor {
    convenience init(hex: String) {
        // Hex сапты түскө айландыруу
        self.init(red: 0, green: 0, blue: 0, alpha: 1) // мисал
    }
}