我的项目中有一个连接类。我想在这个课程中使用很多作品。当我试图调用此类的函数时出现以下错误:没有可见的@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];
}
答案 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
即可。