J'ai un UIViewController (parentVC) auquel ajouter une UITableViewController comme suit (il n'est pas poussé depuis le tableview occupe seulement la moitié de l'écran):correctement libérant UITableViewController et UITableView ajouté directement à un UIViewController
tableVC = [[SmallTableVC alloc] initWithStyle:UITableViewStylePlain];
[self.view addSubview:tableVC.tableView];
En dealloc, ajouter [tableVC release];
instruments à l'aide, je peux voir que le tableVC est en effet entièrement libéré lorsqu'il est libéré parentVC, ce qui est bon, mais je ne sais pas pourquoi que je pensais que le UITableView de tableVC aurait retain compte de 2 (1 pour la rétention par tableVC et 1 pour la rétention par parentVC). Mon intuition était qu'une version additionnelle [tableVC.tableView] serait nécessaire, mais l'ajouter bloquait l'application. Pourquoi tableVC est-elle libérée correctement par le code actuel (si c'est effectivement le cas)? Est-ce qu'un UITableViewController ne conserve pas sa tableView? Merci.
Vous vers le bas ont voté ma réponse et a déclaré: « Je ne parle jamais retenir chefs d'accusation et je ne ai jamais demandé la libération de tableVC » indiquant votre question: « Utilisation d'instruments, je peux voir que le tableVC est en effet entièrement libérée lorsque parentVC libéré, ce qui est bon, mais je ne sais pas pourquoi, car je pensais que le UITableView de tableVC aurait un nombre de retenue de 2 (1 pour la rétention par tableVC et 1 pour la rétention par parentVC). " Ce qui donne? – gnasher
Je suis désolé, dans mon esprit la question était sur la sortie de la tableview, mais il semble que j'aurais dû le formuler mieux. SO ne me laisse pas changer le vote à moins que votre réponse ne soit éditée. Donc, si vous faites un petit montage, je vais le voter. – RunLoop