iOS 封装域名和接口全局调用

后台返回的接口有很多,统一放在一个类里去调用会比较方便一些。看到网上也没有相关的资料,决定自己摘录自己项目上自己封装的接口类,写的不好多多批评!!!!感激涕零!
一、首先要创建一个单例工具类JSSingleton_h

// .h文件
// ## :拼接前后两个字符串
#define JSSingleton_h(name)  +(instancetype)shared##name;
#if __has_feature(objc_arc) // arc
    #define JSSingleton_m(name) \
    +(instancetype)shared##name{ \
        return [[self alloc] init]; \
    }\
    \
    - (id)copyWithZone:(NSZone *)zone{\
    return self;\
    }\
    \
    + (instancetype)allocWithZone:(struct _NSZone *)zone {\
    static id instance;\
    static dispatch_once_t onceToken;\
    dispatch_once(&onceToken, ^{\
        instance = [super allocWithZone:zone];\
    });\
    return instance;\
    }

#else // 非arc
    #define JSSingleto_m(name) \
    +(instancetype)shared##name{ \
    return [[self alloc] init]; \
    }\
    \
    - (id)copyWithZone:(NSZone *)zone{\
        return self;\
    }\
    \
    + (instancetype)allocWithZone:(struct _NSZone *)zone {\
    static id instance;\
    static dispatch_once_t onceToken;\
    dispatch_once(&onceToken, ^{\
    instance = [super allocWithZone:zone];\
    });\
    return instance;\
    }\
    - (oneway void)release {\
        \
    }\
    \
    - (instancetype)autorelease {\
        return self;\
    }\
    \
    - (instancetype)retain {\
        return self;\
    }
#endif

二、首先新建一个NSObject类目,命名为HttpString。并且添加上JSSingleton.h
头文件

//  Created by 纵昂 on 2019/9/11.
//  Copyright © 2019 za. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "JSSingleton.h"
NS_ASSUME_NONNULL_BEGIN

@interface HttpString : NSObject

JSSingleton_h(UrlCenter)

//首页
@property (nonatomic ,copy) NSString*za_HomeIndex;//整个首页
//我的
@property (nonatomic ,copy) NSString*za_My; //我的
//登录和注册
@property (nonatomic ,copy) NSString*za_Login; //登录

@end
NS_ASSUME_NONNULL_END

三、在.h文件中定义好每个接口的方法之后再.m文件去调用

//  Created by 纵昂 on 2019/9/6.
//  Copyright © 2019 za. All rights reserved.
//
#import "HttpString.h"

//正式地址(接口域名地址) 用这个拼接口
#define AppMainUrl @"http://11.11.111.11/zongang/"

@implementation HttpString

JSSingleton_m(UrlCenter) 
//----------------------------------------HomePage首页-----------------------------//
// 首页
-(NSString *)za_HomeIndex{
    return [NSString stringWithFormat:@"%@zongt/home",AppMainUrl];
}

// 我的
-(NSString *)za_My{
    return [NSString stringWithFormat:@"%@zongt/my",AppMainUrl];
}

//登录
-(NSString *)za_Login{
    return [NSString stringWithFormat:@"%@zongt/my",AppMainUrl];
}

@end

四、在请求方法上使用
在请求上直接写[ZAHttpString sharedUrlCenter].za_HomeIndex

// An highlighted block
NSMutableURLRequest * requst = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:self.urlString]];
equst = [NSMutableURLRequest requestWithURL:[ZAHttpString sharedUrlCenter].za_HomeIndex];
requst.HTTPMethod = @"POST";
//现在大多数高手都是封装的请求,可根据自己的请求方式来定,但不变的是[ZAHttpString sharedUrlCenter].za_HomeIndex这样的写法
//方便后期改
//至于参数也有封装方法我就不一一写了,有点low
// 本人邮箱
雅虎:zongang15@yahoo.com
如果大佬还有什么好的封装方法可以多多请教!!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值