Junior — Middle
Можете ли да обясните как работи механизмът MRC?
sobes.tech AI
Отговор от AI
MRC (Ръчно броене на референции) е механизъм за управление на паметта в iOS, при който програмистът е отговорен за броя на референциите към обектите.
Принцип на работа:
- Всеки обект има брояч на референциите.
- При създаване или присвояване на обект, броячът се увеличава (
retain). - При освобождаване на референцията, броячът се намалява (
release). - Когато броячът достигне нула, обектът се унищожава.
Пример в Objective-C:
NSObject *obj = [[NSObject alloc] init]; // брояч = 1
[obj retain]; // брояч = 2
[obj release]; // брояч = 1
[obj release]; // брояч = 0, обектът се изтрива
Важно е ръчно да се извикват retain и release, за да се избегнат течове на памет или преждевременно изтриване на обекти. В съвременните iOS проекти по-често се използва ARC (Автоматично броене на референции), който автоматизира този процес.