Sobes.tech
Junior — Middle

Side Table tushunchasi va uning qo'llanilishini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

Side Table — bu iOS (Objective-C va Swift) da ishlatiladigan yordamchi ma'lumotlar tuzilmasi bo'lib, obyektlarga dinamik ravishda xususiyatlar qo'shishga imkon beradi va ularning asl sinfini o'zgartirmaydi.

U mavjud sinfning funksionalligini kengaytirish zarur bo'lganda qo'llaniladi, masalan, ob'ektga yangi xususiyat qo'shish, lekin subklass yaratish imkoniyati yoki istagi bo'lmagan hollarda.

Side Table ning amalga oshirilishida odatda bog'langan obyektlar (associated objects) mexanizmi qo'llaniladi, bu esa bajarilish vaqtida ob'ekt bilan qo'shimcha ma'lumotlarni bog'lash imkonini beradi.

Objective-C da foydalanish misoli:

#import <objc/runtime.h>

static char kAssociatedObjectKey;

@implementation NSObject (SideTable)

- (void)setCustomProperty:(NSString *)value {
    objc_setAssociatedObject(self, &kAssociatedObjectKey, value, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

- (NSString *)customProperty {
    return objc_getAssociatedObject(self, &kAssociatedObjectKey);
}

@end

Shu tarzda, Side Table obyektlarni ularning manba kodini o'zgartirmasdan kengaytirishga imkon beradi.