私は応答を取得mのとき、それは私がNSObject
クラスにサーバー呼び出しで実装viewController.asに戻りましたNSObject
からサーバの応答を取得したいが、私はNSObject
メソッドに呼び出されますが、サーバーの応答の前に私のNSString
はnull
として復帰しています。NSObjectクラスへのNSURLSessionConfigurationの設定方法は?
NSObject class :
@interface getServerCallClassMethod :
NSObject<NSURLSessionDelegate>
{
NSString *ResponceStr;
}
-(NSString *)getServerCall:(NSString *)mobleNo serverUrl:(NSString *)url;
@end
一部を実装:
@implementation getServerCallClassMethod
-(NSString *)getServerCall:(NSString *)mobleNo serverUrl:(NSString *)url{
NSURLSessionConfiguration *sessionConfig=[NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *urlSession=[NSURLSession
sessionWithConfiguration:sessionConfig delegate:self
delegateQueue:[NSOperationQueue mainQueue]];
NSURL *servrurl=[NSURL URLWithString:GetOTP];
NSURLSessionDataTask *dataTask=[urlSession
dataTaskWithURL:servrurl completionHandler:^(NSData * _Nullable data,
NSURLResponse * _Nullable response, NSError * _Nullable
connectionError)
{ if (data.length > 0 && connectionError == nil){
[email protected]"success"; } else{ [email protected]"fail";
}
}];
[dataTask resume];
});
return ResponceStr;
}
In Vc :
getServerCallClassMethod *GetServerCallMethod=[[getServerCallClassMethod alloc]init];
NSString *valide=[GetServerCallMethod getServerCall:@"800000000" serverUrl:@"http://www.gg.com"]; NSLog(@"valide");
もし私が同じコードをすべてにオーバーライドしたくないので、NSObjectクラスから取得する方法を知りたいなら、サーバーの応答を取得したい場合はこれを試してみてください(リンク先はhttp://stackoverflow.com/a/37086586/4003548) – vaibhav
NSObjectクラスのサーバーメソッドを呼び出すには –