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

时间:2013-07-09 08:56:35

标签: iphone ios objective-c ipad

我的项目中有一个连接类。我想在这个课程中使用很多作品。当我试图调用此类的函数时出现以下错误:没有可见的@interface声明选择器错误

coreConnection.h

@interface coreConnection:NSArray
{
    NSData *returnData;
}
      -(NSArray*)getData;
@end

coreConnection.m

#import "coreConnection.h"

@implementation coreConnection

-(NSArray*)getData:(NSString*)link
{
    NSOperationQueue *apiCallsQueue = [[NSOperationQueue alloc] init];
    NSURL *URL = [NSURL URLWithString:link];
    NSURLRequest *request = [NSURLRequest requestWithURL:URL];
    [NSURLConnection sendAsynchronousRequest:request queue:apiCallsQueue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
        dispatch_async(dispatch_get_main_queue(), ^{
            returnData = data;
        });
    }];
    return [NSJSONSerialization JSONObjectWithData:returnData options:nil error:nil];
}
@end

viewController.m

#import "coreConnection.h"

- (void)viewDidLoad
{
    [[self headlineCollectionView]setDelegate:self];
    [[self headlineCollectionView]setDataSource:self];
     [self.headlineCollectionView registerNib:[UINib nibWithNibName:@"HeadLineCell" bundle:nil] forCellWithReuseIdentifier:@"CELL"];
    coreConnection speed=[[coreConnection alloc] init];;
    headline = [speed getData:@"string"];
    [self.headlineCollectionView reloadData];
[super viewDidLoad];
}

2 个答案:

答案 0 :(得分:12)

呵呵问题很简单 您的实现方法和代码中使用的方法是

-(NSArray*)getData:(NSString*)link

-(NSArray*)getData;

在.h文件中声明 所以将声明作为

-(NSArray*)getData:(NSString*)link;
<。>文件中的

修改

您在分配对象

时也错过了*

使用

coreConnection *speed=[[coreConnection alloc] init];;

答案 1 :(得分:4)

您只需在-(NSArray*)getData:(NSString*)link;文件中声明方法coreConnection.h即可。