我的设置:MainWindow带有标签栏控制器(包括标签栏)和两个UIViewController
,两者都分配到扩展UIViewController
的同一界面。此自定义接口实现IBOutlet
Webview和加载URL的void。在主.m的didSelectViewController
上,我尝试拨打LoadURL
。
.m的视图控制器
@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
#import <UIKit/UIKit.h>
@interface MyTabBarController : UIViewController {
IBOutlet UIWebView *webView;
}
- (void) LoadURL: (NSString*)s;
@property (nonatomic, retain) UIWebView *webView;
@end
主窗口的.m
- (void) tabBarController: (UITabBarController *) myController didSelectViewController: (UIViewController *) viewController {
[myController LoadURL:@"http://google.com"]; // WARNING
}
我在每个空隙上放置了断点,然后调用它们。但是我的webView没有显示任何内容。
除此之外我收到了2个警告:
'UITabBarController' may not respond to '-LoadURL:'
Semantic Issue: Method '-LoadURL:' not found (return type defaults to 'id')
答案 0 :(得分:0)
-LoadURL:
未定义UITabBarController
方法。也许你的意思是
[self LoadURL:@"http://google.com"];
答案 1 :(得分:0)
如果您确定它不是UIViewController而是它的子类
,则很可能需要强制转换它[(MyTabBarController*)myController LoadURL:@"http://google.com"]