Junior — Middle
Czy może Pan wyjaśnić, jak działa mechanizm MRC?
sobes.tech AI
Odpowiedź od AI
MRC (Manualne Liczenie Referencji) to mechanizm zarządzania pamięcią w iOS, w którym programista jest odpowiedzialny za liczenie odwołań do obiektów.
Zasada działania:
- Każdy obiekt ma licznik odwołań.
- Przy tworzeniu lub przypisaniu obiektu licznik zwiększa się (
retain). - Przy zwolnieniu odwołania licznik się zmniejsza (
release). - Gdy licznik osiąga zero, obiekt jest niszczony.
Przykład w Objective-C:
NSObject *obj = [[NSObject alloc] init]; // licznik = 1
[obj retain]; // licznik = 2
[obj release]; // licznik = 1
[obj release]; // licznik = 0, obiekt jest usuwany
Ważne jest ręczne wywoływanie retain i release, aby uniknąć wycieków pamięci lub przedwczesnego usunięcia obiektów. W nowoczesnych projektach iOS częściej używa się ARC (Automatyczne Liczenie Referencji), które automatyzuje ten proces.