Junior — Middle
Оё метавонед консептии Side Table ва истифодаи онро шарҳ диҳед?
sobes.tech AI
Ҷавоб аз AI
Side Table — структура маълумоти ёрдамӣ мебошад, ки дар iOS (Objective-C ва Swift) барои илова кардани хусусиятҳои динамикӣ ба объектҳо бидуни тағир додани синфи аслӣ истифода мешавад.
Он вақте истифода мешавад, ки лозим аст функсионалияти синфи мавҷударо васеъ кардан, масалан, илова кардани хусусияти нав ба объект, аммо имконият ё хоҳиши сохтани синфи зерро надоред.
Дар татбиқи Side Table, одатан механизмҳои объектҳои вобаста (associated objects) истифода мешаванд, ки имкон медиҳанд маълумоти иловагӣ дар вақти иҷро ба объект пайваст карда шаванд.
Масалан дар Objective-C:
#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
Ин тариқ, Side Table имкон медиҳад, ки объектҳоро бидуни тағир додани коди манбаъашон флексиблона васеъ кардан мумкин шавад.