2011-06-15 3 views
0

Mon installation: MainWindow avec un contrôleur de barre d'onglets (y compris une barre d'onglets) et deux UIViewController s, les deux affectés à la même interface qui s'étend UIViewController. Cette interface personnalisée implémente un Webview IBOutlet et un espace vide qui charge une URL. Sur didSelectViewController sur le principal .m j'essaie d'appeler LoadURL.'UITabBarController' peut ne pas répondre à '-method'

.m du contrôleur de vue

@implementation MyTabBarController 
@synthesize webView; 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 
return [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
} 

- (void) LoadURL: (NSString*)s { 
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:s]]]; 
} 

- (void)dealloc { 
[super dealloc]; 
} 
@end 

.h du contrôleur de vue

#import <UIKit/UIKit.h> 

@interface MyTabBarController : UIViewController { 
IBOutlet UIWebView *webView; 
} 

- (void) LoadURL: (NSString*)s; 

@property (nonatomic, retain) UIWebView *webView; 

@end 

.m de la fenêtre principale

- (void) tabBarController: (UITabBarController *) myController didSelectViewController: (UIViewController *) viewController { 
[myController LoadURL:@"http://google.com"]; // WARNING 
} 

Je mis des points d'arrêt sur chacune des vides et ils s'appellent. Mais mon webView n'affiche aucun contenu.

Autre que je suis arrivé 2 avertissements:

'UITabBarController' may not respond to '-LoadURL:' 
Semantic Issue: Method '-LoadURL:' not found (return type defaults to 'id') 
+0

-vous définir la méthode LoadURL dans le fichier d'en-tête du contrôleur de vue? Si oui, comment le définissez-vous? – csano

+0

Merci pour votre réponse. J'ai modifié mon message pour inclure le fichier .h. – Blisra

Répondre

0

Très probablement, vous devez jeter, si vous êtes sûr qu'il est pas un UIViewController mais une sous-classe de celui-ci

[(MyTabBarController*)myController LoadURL:@"http://google.com"] 
+0

Merci et oui, j'ai déjà pensé à ça. C'est une sous-classe de UIViewController. Mais je reçois: 'MyTabBarController' non déclaré (première utilisation dans cette fonction) – Blisra

+0

vous ne l'importez pas – vikingosegundo

+0

Pourriez-vous s'il vous plaît me suggérer comment l'importer? – Blisra

0

Votre méthode -LoadURL: n'est pas définie sur UITabBarController. Peut-être que vous voulez faire

[self LoadURL:@"http://google.com"]; 

?

+0

Plus de chance '[viewController LoadURL:' ... –

+0

Merci pour vos réponses. @Dave Je ne comprends pas, désolé: moi-même n'a pas fonctionné. Peut-être parce que -LoadURL n'est pas dans le même fichier mais dans le .m de mon contrôleur de vue personnalisé? @Noah Ne fonctionne pas, toujours recevoir l'avertissement. – Blisra

+0

Edit: vous aviez raison, Noah, merci! – Blisra

Questions connexes