Junior — Middle
რა ტიპის ინიციალიზატორები ხელმისაწვდომია Extention-ში ფუნქციონალობის გაფართოებისთვის?
sobes.tech AI
პასუხი AI-სგან
Swift-ში გაფართოებები (Extensions) ვერ შეძლებენ ახალი განსაზღვრული (designated) ინიციალიზატორების დამატებას, მაგრამ შეუძლიათ დაამატონ convenience (სასარგებლო) ინიციალიზატორები, თუ ისინი არ ეწინააღმდეგებიან არსებულებს. ასევე, შეუძლებელია არსებული ინიციალიზატორების გადაფარვა.
მაშასადამე, გაფართოებებში შეიძლება განხორციელდეს მხოლოდ convenience ინიციალიზატორები, რომლებიც ადვილად ქმნიან ობიექტს, გამოძახებით უკვე არსებულ განსაზღვრულ ინიციალიზატორებს.
მაგალითი:
extension UIColor {
convenience init(hex: String) {
// Hex სტრიქონის გადაყვანა ფერში
self.init(red: 0, green: 0, blue: 0, alpha: 1) // მაგალითი
}
}