Al seleccionar una fila en la tabla, cambia a pantalla en blanco.

en parte de mi aplicación (storyboard) tengo una vista de tabla con varias filas, y cuando selecciono una fila, se debería mostrar un file html. En cambio, cuando selecciono una fila, obtengo una pantalla en blanco.

Pensé que necesitaba otro controller de vista después del controller de tabla, pero tengo el mismo problema si tengo uno o no.

En mi controller de tabla .m tengo el siguiente código:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

{

 articleIndex = indexPath.row; WebView *selectedArticle = [[WebView alloc] initWithNibName:nil bundle:nil]; [self.navigationController pushViewController:selectedArticle animated:YES]; [selectedArticle release]; 

Eso me permite seleccionar una fila y la pantalla cambia a una en blanco, en lugar de cargar el file html relevante.

Tengo en mi carpeta de resources un file .h y .m como sigue:

webview.h

 #import <UIKit/UIKit.h> #import "globals.h" @interface WebView : UIViewController{ NSArray *articleNames; IBOutlet UIWebView *webView; } @property(nonatomic, retain)IBOutlet UIWebView *webView; @end 

webview.m

 #import "WebView.h" @implementation WebView @synthesize webView; - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle - (void)viewDidLoad { [super viewDidLoad]; articleNames = [[NSArray arrayWithObjects: @"chapter1", @"chapter2", @"chapter3", @"chapter4", @"chapter5", @"chapter6", nil] retain]; NSString *chapterName = [[NSString alloc] initWithString:[articleNames objectAtIndex:articleIndex]]; NSString *path = [[NSBundle mainBundle] pathForResource:chapterName ofType:@"html"]; NSURL *url = [NSURL fileURLWithPath:path]; NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url]; [webView loadRequest:urlRequest]; [chapterName release]; } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // eg self.myOutlet = nil; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return YES; } @end 

No puedo ver lo que he hecho mal aquí, ¿algún consejo? No estoy seguro de cómo get los files html para mostrar o donde necesito hacer cambios para permitirlo. Si elimino los files HTML del proyecto, la aplicación se bloquea, así que definitivamente los carga, pero por alguna razón no se muestra …

Bueno, en primer lugar, donde está "articleIndex", veo que lo configuró en tableViewController, pero no es webView.h o webView.m. Sugiero primero agregar un NSLog

 NSURL *url = [NSURL fileURLWithPath:path]; NSLog(@"Article URL:%@", url); 

Esto le permitirá ver si la url es correcta primero. En segundo lugar, parece que conectaste tu UIWebView con el creador de la interfaz, así que asegúrate de que la webView esté conectada correctamente. También puede probar la compra de webView usando:

  NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString: @"http://www.apple.com"]]; 

Y mira si carga apple.com. Si lo hace, entonces sabe que su problema es con sus files html o las routes a ellos.