Sobes.tech
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