Нет видимого @interface объявляет ошибку селектора
У меня есть класс подключения в моем проекте. Я хочу использовать этот класс для множества работ. Когда я попытался вызвать эту функцию класса, получив следующую ошибку: Нет видимого @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];
}
Ответы
Ответ 1
Проблема довольно проста
ваш метод в реализации и используется в коде
-(NSArray*)getData:(NSString*)link
не
-(NSArray*)getData;
который объявлен в файле .h
поэтому сделайте объявление как
-(NSArray*)getData:(NSString*)link;
в .h файле
ИЗМЕНИТЬ
Вы также пропустили *
при выделении объекта
Использование
coreConnection *speed=[[coreConnection alloc] init];;
Ответ 2
Вам просто нужно объявить свой метод -(NSArray*)getData:(NSString*)link;
в coreConnection.h
файле.