Junior — Middle
Hogyan változik az erős hivatkozások számlálója egy objektum esetében, amikor hozzáadjuk egy tömbgyűjteményhez?
sobes.tech MI
Válasz az MI-től
Amikor egy objektumot hozzáadunk egy tömbgyűjteményhez (például, NSMutableArray az iOS-ben), akkor ennek az objektumnak a erős hivatkozás száma (retain count) növekszik 1-gyel. Ez azért történik, mert a gyűjtemény erős hivatkozást tart az objektumra, hogy biztosítsa létezését, amíg a tömbben van.
Objective-C példa:
NSMutableArray *array = [NSMutableArray new];
NSObject *obj = [NSObject new]; // retainCount = 1
[array addObject:obj]; // a retainCount növekszik 1-gyel
// Most az objektum retainCount-ja kb. 2