测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布日期最新发布 | 2017年4月 |
依赖项 | |
AFNetworking | >= 0 |
GreedJSON | >= 0 |
GreedEmoji | >= 0 |
基于 AFNetworking 和 GreedJSON 的 iOS 7+ 网络请求工具
pod 'GreedNetwork'
在 GRNetworkForm 实例的接口文件中将网络参数作为属性声明;
@interface GRTestFrom : GRNetworkForm
@property (nonatomic, strong) NSString *password;
@property (nonatomic, strong) NSString *username;
@property (nonatomic, strong) NSString *q;
@end
您可以在实现文件中自定义默认参数值;
@implementation GRTestFrom
- (instancetype)init {
self = [super init];
if (self) {
self.username = @"foo";
self.password = @"foo1";
self.q = @"test";
}
return self;
}
@end
初始化 GreedNetwork 实例并开始网络连接;
- (void)gr_requestWithNetworkForm:(GRNetworkForm *)form
success:(void (^)(GRNetworkResponse *responseObject))success
failure:(void (^)(GRNetworkResponse *responseObject))failure
就这样!
- (void)testRequest
{
GRTestForm *form = [[GRTestForm alloc] init];
form.q = @"GreedNetwork";
form.password = self.passTextField.text;
form.username = self.userTextField.text;
NSLog(@"form:%@",[form gr_dictionary]);
[self gr_requestWithNetworkForm:form success:^(GRNetworkResponse *responseObject) {
NSLog(@"request:%@",responseObject.responseDictionary);
} failure:^(GRNetworkResponse *responseObject) {
NSLog(@"request:%@",[responseObject.error userInfo]);
}];
}
- (void)testQueue
{
for (NSInteger index = 0; index < 2; index ++) {
GRTestForm *form = [[GRTestForm alloc] init];
form.q = @"GreedNetwork";
form.successBlock = ^(GRNetworkResponse *responseObject) {
NSLog(@"queue_%@:%@",@(index),responseObject.responseDictionary);
};
form.failureBlock = ^(GRNetworkResponse *responseObject) {
NSLog(@"queue_%@:%@",@(index),[responseObject.error userInfo]);
};
NSLog(@"form:%@",[form gr_dictionary]);
[[GRNetworkQueue getInstance] addForm:form];
}
}
与基于 AFNetworking 的其他网络工具相比,GreedNetwork 具有以下优势:
1.如果您要将 AFNetworking 从 2.x 迁移到 3.x,我们可以提供 GreedNetwork 作为替代方案。
2.当您已声明 GRNetworkForm 实例中的属性后,您的网络请求头、请求参数和 HTTP 正文将自动生成。
3.GreedNetwork 可高度自定义,适用于您自己的项目;