Sobes.tech
Junior — Middle

Ako sa mení počet silných odkazov na objekt, keď je pridaný do kolekcie poľa?

sobes.tech AI

Odpoveď od AI

Keď je objekt pridaný do kolekcie poľa (napríklad, NSMutableArray v iOS), počet silných odkazov (retain count) tohto objektu sa zvýši o 1. To sa deje preto, lebo kolekcia drží silnú referenciu na objekt, aby zabezpečila jeho existenciu, kým je v poli.

Príklad v Objective-C:

NSMutableArray *array = [NSMutableArray new];
NSObject *obj = [NSObject new]; // retainCount = 1
[array addObject:obj]; // retainCount sa zvýši o 1
// Teraz je retainCount objektu približne 2