Sobes.tech
Middle — Middle+

V akých prípadoch a za akých podmienok je potrebné odstrániť tabuľku bočných vzťahov (Side Table)?

sobes.tech AI

Odpoveď od AI

Tabuľka bočných vzťahov (Side Table) v iOS sa často používa na ukladanie doplnkových údajov súvisiacich s objektmi, bez zmeny ich pôvodnej triedy (napríklad cez runtime Objective-C).

Takúto tabuľku je potrebné odstrániť:

  • Keď sú s nimi spojené objekty odstránené alebo sa stávajú irelevantnými, aby sa predišlo únikom pamäte.
  • Počas de-inicializácie alebo čistenia kontextu, ak Side Table obsahuje dočasné alebo cacheované údaje.
  • Ak sa Side Table používa na implementáciu slabých odkazov (weak references), a spojené objekty už boli uvoľnené.

Podmienky na odstránenie môžu byť:

  • Ukončenie životného cyklu objektov, ku ktorým sú údaje pripojené.
  • Vyčistenie cache alebo resetovanie stavu aplikácie.

Príklad: ak pridávate vlastnosti k objektu pomocou objc_setAssociatedObject, Side Table sa automaticky vyčistí pri odstránení objektu. Ak však spravujete Side Table manuálne, je dôležité včas odstrániť záznamy, aby ste nezachytávali odpad.