2009-09-08 9 views

Répondre

6

Oui, c'est le cas. Toute suppression appelle la libération du NSObject supprimé.

Les NSArray class reference Précise:

Les tableaux maintiennent des références fortes à leur contenu-dans une mémoire gérée environnement , chaque objet reçoit un message conserver avant son id est ajouté au tableau et un message de libération lorsqu'il est supprimé du tableau ou lorsque le tableau est désalloué. Si vous souhaitez une collection avec différents sémantique de propriété d'objet , considérez à l'aide de référence CFArray, NSPointerArray ou NSHashTable à la place.

2

Oui, ils sont libérés. Vous pouvez voir que l'objet contenu est libéré en remplaçant release dans un objet que vous avez placé dans le conteneur. Appelez la méthode release de la superclasse et définissez un point d'arrêt dessus. Vous verrez que c'est sorti.

J'avais d'abord déclaré que je pensais que les objets étaient auto-libérés. Il s'avère que je crois que j'ai tort à ce sujet.

Questions connexes