Diseño de subvista de iPhone (UIView vs UIViewController)

Estoy diseñando una aplicación de prueba simple. La aplicación necesita mostrar diferentes tipos de QuizQuestions. Cada tipo de QuizQuestion tiene un comportamiento distinto y una IU.

La interfaz de usuario será algo como esto:texto alternativo http://dl.getdropbox.com/u/907284/Picture%201.png

Me gustaría poder diseñar cada tipo de QuizQuestion en Interface Builder.

Por ejemplo, un MultipleChoiceQuizQuestion se vería así:texto alternativo http://dl.getdropbox.com/u/907284/Picture%202.png

Originalmente, planeé hacer de la clase QuizQuestion un UIViewController. Sin embargo, leí en la documentación de Apple que UIViewControllers solo debería usarse para mostrar una página completa.

Por lo tanto, hice de mi QuizController (que administra la pantalla completa, por ejemplo, los botones prev / next) un UIViewController y mi clase QuizQuestion una subclase de UIView.

Sin embargo, para cargar este UIView (creado en IB), debo[1] Haz lo siguiente en mi constructor:

//MultipleQuizQuestion.m
+(id)createInstance {
    UIViewController *useless = [[UIViewController alloc] initWithNibName:@"MultipleQuizQuestion" bundle:nil];
    UIView *view = [[useless.view retain] autorelease];
    [useless release];
    return view; // probably has a memory leak or something
}

Este tipo de acceso no parece ser estándar u orientado a objetos. ¿Es este tipo de código normal / aceptable? ¿O hice una mala elección en algún lugar de mi diseño?

Gracias,

editar (para mayor claridad): Me gustaría tener una clase separada para controlar el multipleChoiceView ... como un ViewController pero aparentemente eso es solo para ventanas enteras. Tal vez debería hacer un MultipleChoiceViewManager (¡no un controlador!) Y configurar el propietario del archivo para eso en su lugar?

Respuestas a la pregunta(2)

Su respuesta a la pregunta