¿Cuál es el procedimiento adecuado para eliminar un UIPageViewController de uno de sus controlleres de vista secundarios?

Tengo una subclass UIPageViewController con un montón de subclasss UIViewController contenidas en el interior.

En algún momento en una de las subclasss UIViewController si el usuario hace algo, quiero eliminar todo el sistema UIPageViewController para revelar solo la subview subyacente a la que se agregó inicialmente.

Agrego la subclass UIPageViewController como un controller de vista secundaria de mi controller de vista principal de la siguiente manera:

 ImageGalleryPageViewController *galleryPageViewController = [[ImageGalleryPageViewController alloc] initWithImagesAndCaptions:imagesAndCaptions]; [self addChildViewController:galleryPageViewController]; [self.view addSubview:galleryPageViewController.view]; [galleryPageViewController didMoveToParentViewController:self]; 

Tengo curiosidad sobre cuáles son las mejores prácticas para eliminarlo de los UIViewControllers internos.

Lo que mi primera reacción es hacer esto:

 [self.imageGallery removeFromParentViewController]; [self.imageGallery.view removeFromSuperview]; 

(Donde en mi subclass UIViewController tengo una reference a la subclass UIPageViewController en la que está contenido, y le digo a la subclass UIPageViewController que se elimine.

¿Esta bien? Me temo que se siente descuidado como si UIPageViewController el UIPageViewController que contiene el UIViewController que realiza la llamada, tal vez la segunda llamada removeFromSuperview no termine siendo removeFromSuperview ya que la vista se eliminaría.

¿Sería mejor tener un método especializado en la subclass UIPageViewController que realice los dos methods anteriores? ¿Algo diferente todos juntos?

Además, ¿por qué es necesario llamar a ambos? ¿Por qué removeFromParentViewController tampoco elimina su view ? ¿Por qué es necesario agregar ambos?

Me gustaría comentar, pero no tengo suficiente representante. Significado de la palabra

Sugiero lo que dijo:

¿Sería mejor tener un método especializado en la subclass UIPageViewController que realice los dos methods anteriores?

Podrías fácilmente usar una NSNotification.