没有可见的@interface 声明选择器错误
Posted
技术标签:
【中文标题】没有可见的@interface 声明选择器错误【英文标题】:no visible @interface for declares the selector errors 【发布时间】:2013-12-22 02:57:38 【问题描述】:我得到 No visible @interface for 'NSObject' 声明选择器 'viewDidLoad' on 行:
[super viewDidLoad];
[_viewWeb loadRequest:requestObj];
[super didReceiveMemoryWarning];
UIViewControllerHUB.m
#import "UIViewControllerHUB.h"
@interface UIViewControllerHUB ()
@property (strong, nonatomic) NSMutableArray *subItems;
@end
@implementation UIViewControllerHUB
- (void)viewDidLoad
[super viewDidLoad];
NSString *fullURL = @"http://conecode.com";
NSURL *url = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[_viewWeb loadRequest:requestObj];
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
@end
UIViewControllerHUB.h
#import <Foundation/Foundation.h>
@interface UIViewControllerHUB : NSObject
@property (strong, nonatomic) IBOutlet UIView *viewWeb;
@end
我该如何解决这个问题?
以上所有问题现已解决。
以下新错误:
现在得到 'UIView' 没有可见的@interface 声明选择器 'loadRequest:' 上线
[_viewWeb loadRequest:requestObj];
【问题讨论】:
如果您有新问题,请提出新问题;不要编辑你的旧的。在这种情况下,您可能需要先查看您的代码并在其他问题中寻找类似的错误。 您的代码是正确的。唯一的问题在于您的 LoadRequest 方法,它不是 UIView 方法,而是 UIWebView。我已经更新了答案,请关注。 【参考方案1】:在您的代码中'No visible @interface for UIView
声明了选择器'loadRequest:' 在线为什么你得到这个错误是因为loadRequest
不是UIView
的方法.但尽管如此,它是UIWebView
的方法。有关更多信息,请参阅此UIWebView documentation。所以只需将UIView
替换为UIWebView
并检查
//对此发表评论
//@property (strong, nonatomic) IBOutlet UIView *viewWeb;
//修改这个
@property (strong, nonatomic) IBOutlet UIWebView *viewWeb;
注意:- 您已经创建了UIView
的出口。所以删除相同并拖放 UIWebView 然后将outlet
重新连接到UIWebView
【讨论】:
【参考方案2】:viewDidLoad
是一个UIViewController
方法。要修复它,请更改为继承:
#import <Foundation/Foundation.h>
@interface UIViewControllerHUB : UIViewController
@property (strong, nonatomic) IBOutlet UIView *viewWeb;
@end
【讨论】:
还可以考虑重命名你的类,按照惯例,UI
前缀仅适用于 UIKit 类。以上是关于没有可见的@interface 声明选择器错误的主要内容,如果未能解决你的问题,请参考以下文章
如何解决错误'UIViewController'没有可见的@interface声明选择器''
“NSString”没有可见的@interface 声明选择器“performStringGeocode”
“MPMediaItem”没有可见的@interface 声明选择器“representativeItem”