iOS中使用单例类时,如何调用加号方法
2016-12-19 14:44
483 查看
本文拿afnetworking 来说;
/*
.h 文件中
@property (nonatomic, strong)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;
/*
.h 文件中
@property (nonatomic, strong)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;
相关文章推荐
- 如何在IOS平台上使用js直接调用OC方法
- 【cocos2d-js官方文档】二十三、如何在IOS平台上使用js直接调用OC方法
- cocos2d-js如何在IOS平台上使用js直接调用OC方法
- Ext Ajax:如何调用Ext.Ajax.request方法和使用Java Servlet进行处理 .
- iOS 里面如何使用第三方应用程序打开自己的文件,调用wps其他应用打开当前应用里面的的ppt doc xls
- 如何使用反射创建类实例,并调用方法.
- Ext Ajax:如何调用Ext.Ajax.request方法和使用Java Servlet进行处理
- 在使用JS调用Window.close()方法关闭一个窗口是,如何禁止弹出对话窗口?
- 如何在Android平台上使用JS直接调用Java方法
- [iOS]在WebApp中如何使用JS调用iOS的函数
- 如何使用单元测试 测试WEB组件方法中的含有Session、Cookie等HttpContext功能调用的方法?[转载]
- struts2如何动态调用action的方法以及使用json插件范围json格式的javascript对象
- 在OpenFOAM中如何解决既使用模板又要调用子类函数的方法
- 使用Swift开发iOS项目、UI创建、方法调用
- IOS总结_IOS经常使用的方法集合、调用系统电话、设备区分、APP内永不锁屏
- 使用Java调用DLL动态链接库(如何在Java中调用DLL方法)
- 如何使用jquery GET方式请求调用asp.net方法
- 如何使用单元测试 测试WEB组件方法中的含有Session、Cookie等HttpContext功能调用的方法? 转
- .Ext Ajax:如何调用Ext.Ajax.request方法和使用Java Servlet进行处理
- 如何使用POST 方法调用服务