iOS中使用单例类时,如何调用加号方法

本文介绍了在iOS中如何在单例类中使用AFHTTPRequestOperationManager,包括初始化、设置超时时间、SSL证书配置等,并展示了获取单例类属性的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文拿afnetworking  来说;

/*

.h 文件中

@property (nonatomicstrong)AFHTTPRequestOperationManager *shareClient;

+(instancetype)getSingleClass;


*/


------------------------>>>>>>>>>>>>>>>>>>>------------------

.m文件中


/**

 *  单例类

 */


+(instancetype)getSingleClass{

    

    staticMJ_HttpManager * shareManager = nil;

    staticdispatch_once_t predicate;

    dispatch_once(&predicate, ^{

       

        shareManager =[[MJ_HttpManageralloc]init];

    });

    return shareManager;

}


-(AFHTTPRequestOperationManager *)shareClient{

    

    if (_shareClient ==nil) {

        

        _shareClient = [[AFHTTPRequestOperationManageralloc]initWithBaseURL:[NSURLURLWithString:LoginUrl]];

        [_shareClient.requestSerializersetTimeoutInterval:10.f];//超时 10请求

        [_shareClient.requestSerializerwillChangeValueForKey:@"timeoutInterval"];

        [_shareClient.requestSerializerdidChangeValueForKey:@"timeoutInterval"];

        _shareClient.requestSerializer = [AFJSONRequestSerializerserializer];

        _shareClient.responseSerializer = [AFJSONResponseSerializerserializer];

        _shareClient.responseSerializer.acceptableContentTypes = [NSSetsetWithObjects:@"text/plain",@"application/json",@"text/json",@"text/html", nil];

     

        

//        _shareClient.securityPolicy.SSLPinningMode = AFSSLPinningModeCertificate ;

         AFSecurityPolicy *policy = [AFSecurityPolicypolicyWithPinningMode:AFSSLPinningModeCertificate];

        _shareClient.securityPolicy = policy;


        // 2.设置证书模式

        NSString * cerPath = [[NSBundlemainBundle] pathForResource:@"menjin"ofType:@"cer"];

        NSData * cerData = [NSDatadataWithContentsOfFile:cerPath];

        _shareClient.securityPolicy.pinnedCertificates = [[NSArrayalloc] initWithObjects:cerData,nil];

        // 客户端是否信任非法证书

        _shareClient.securityPolicy.allowInvalidCertificates =YES;

        // 是否在证书域字段中验证域名

        [_shareClient.securityPolicysetValidatesDomainName:NO];

        

    }

    return_shareClient;

}





//如果想要获得单例类的某个属性

 MJ_HttpManager * http = [MJ_HttpManagergetSingleClass];

 http.shareClient =nil;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值