protocol web service


webMethod.h


#import <Foundation/Foundation.h>
@protocol ServerReq<NSObject>
-(void)dataResponse:(NSDictionary*)responseDict;
@end

@interface WebMethod : NSObject
-(void)urlElements:(NSString*)url bodyMethod:(NSString *)body;
@property id<ServerReq>delegate;

//propertys
@property NSURLSession *URLSession;
@property NSMutableURLRequest *URLRequest;
@property NSURLSessionDataTask *dataTask;


@end



webmethod.m




-(void)urlElements:(NSString*)url bodyMethod:(NSMutableString *)body{
    
    self.URLSession=[NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
    self.URLRequest=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
    if (body.length>0) {
        self.URLRequest.HTTPMethod=@"POST";
        NSString *dataToServer=body;
        
        NSData *dataToPassToServer=[dataToServer dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
        
        [self.URLRequest setHTTPBody:dataToPassToServer];
    }else{
        self.URLRequest.HTTPMethod=@"GET";
    }
   
    self.dataTask=[self.URLSession dataTaskWithRequest:self.URLRequest completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error)
                   {
                       if (data!=nil)
                       {
                           NSMutableDictionary *responseD = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
                           NSLog(@"%@",responseD);
                           if ([self.delegate respondsToSelector:@selector(dataResponse:)]) {
                               
                               [self.delegate dataResponse:responseD];
                           }
                       }else
                       {
                           
                           NSLog(@"data nil");
                           
                       }
                       
                   }];
    
    
    [self.dataTask resume];
    
    
}


@end


viewcontroller.h


#import <UIKit/UIKit.h>
#import "WebMethod.h"

@interface ViewController : UIViewController<ServerReq>



@end


viewcontroller.m




#import "ViewController.h"
#import "WebMethod.h"
#import "DebugLogger.h"
@interface ViewController (){
    WebMethod *re;
    CustomAlert *alert;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
     re = [[WebMethod alloc]init];
    re.delegate=self;
    NSString *str=@"hi";
    [DebugLogger logString:str :@"str" :1];

//    Alert
    [Globals showAlertWithString:@"HELLO" Title:@"ALERT" CancelBtn:@"cn" SucessBtn:@"ok"];
    
    //[self request:2];
}

-(void)request:(int)requestId{
    switch (requestId) {
        case 1:
            [re urlElements:@"https://rss.itunes.apple.com/api/v1/us/ios-apps/new-apps-we-love/all/10/explicit.json" bodyMethod:nil];
            break;
            case 2:
                [re urlElements:@"https:/wens.net/api/Mobile/Login" bodyMethod:[NSMutableString stringWithFormat:@"UserName=%@&Password=%@",@"guest@wens.com",@"guest"]];
            break;
            
        default:
            break;
    }
}



-(void)dataResponse:(NSDictionary *)responseDict{
   
    NSLog(@"%@",responseDict);
}



@end




























Previous
Next Post »

1 comments:

Write comments
Anonymous
AUTHOR
4 May 2026 at 22:23 delete

Chlorine Scrubber

Looking for a reliable Chlorine Scrubber system to control toxic chlorine gas emissions? Our advanced scrubbers are designed to effectively neutralize and remove chlorine fumes from industrial exhaust streams. Ideal for chemical plants, water treatment facilities, and manufacturing industries, our systems ensure environmental compliance and workplace safety. Built with corrosion-resistant materials and customized designs, we deliver durable and high-efficiency chlorine scrubbing solutions across India.

https://drizgas.com/chlorine-scrubber.php

Reply
avatar