Middle — Middle+
U kojim slučajevima i pod kojim uslovima je potrebno obrisati tabelu stranih veza (Side Table)?
sobes.tech АИ
Одговор од АИ
Табела страних веза (Side Table) у iOS-у се често користи за чување додатних података повезаних са објектима, без промене њихове оригиналне класе (на пример, преко Objective-C runtime-а).
Такву табелу је потребно уклонити:
- Када су повезани објекти избрисани или постану неактуелни, како би се избегли губици меморије.
- Током деинициализације или чишћења контекста, ако Side Table садржи привремене или кеширане податке.
- Ако се Side Table користи за имплементацију слабих референци (weak references), и повезани објекти су већ ослобођени.
Услови за уклањање могу бити:
- Завршетак животног циклуса објеката на које су подаци везани.
- Чишћење кеша или ресетовање стања апликације.
Пример: ако додајете својства објекту преко objc_setAssociatedObject, онда се Side Table аутоматски чисти када се објекат уклони. Али ако ручно управљате Side Table-ом, важно је благовремено уклонити записе како не бисте акумулирали смеће.