没有可见的@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”

没有可见的@interface 声明选择器

“MPMediaItem”没有可见的@interface 声明选择器“representativeItem”

“Appdelegate”没有可见的@interface 声明选择器“managedObjectContext”

____ 没有可见的@interface 声明选择器