Я новый разработчик IOS, я пытаюсь получить доступ к переменной экземпляра в методе класса, но я не могу access.please дать мне какое-то решение здесь мой кодКак Access экземпляр переменной в методе класса
h.file
@protocol ServiceProvideDelegate <NSObject>
@required
-(void)responeFromURL:(NSDictionary*)dicResponse;
@end
@interface AFNetworkServiceProvider : NSObject
{
id <ServiceProvideDelegate> delegate;
}
@property (nonatomic,strong) id delegate;
+(NSDictionary*)getResponseFromURL:(NSURL*)url;
@end
m.file
@implementation AFNetworkServiceProvider
@synthesize delegate;
+(void)getResponseFromURL:(NSURL *)url
{
@try
{
NSURLRequest *request=[NSURLRequest requestWithURL:url];
AFHTTPRequestOperation *requestOperation=[[AFHTTPRequestOperation alloc]initWithRequest:request];
requestOperation.responseSerializer=[AFJSONResponseSerializer serializer];
[requestOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
{
if(delegate)
{
[delegate responeFromURL:responseObject]
}
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Response Error :- %@",[error localizedDescription]);
}];
[requestOperation start];
}
@catch (NSException *exception)
{
}
@finally {
}
}
Попробуйте Returne объект Response с использованием метода протокола, но я получаю сообщение об ошибке в случае (делегат) не может получить доступ к переменной экземпляра в методе класса
Итак, где в этом коде вы пытаетесь получить доступ к переменной экземпляра? Какой код не работает? – Gruntcakes
Вы не можете получить доступ к переменной экземпляра в методе класса - экземпляр не существует. – Adam
А, я вижу ваш вопрос (вы назвали его совершенно неправильным). Вы не можете возвращать данные из операции «асинхронный», вы должны использовать обратный вызов – Adam