NBAsyncRestConnection 1.0.0

NBAsyncRestConnection 1.0.0

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布上次发布2014年12月

Josh Justice维护。



  • 作者:
  • Josh Justice

这是一个用于执行异步 RESTful HTTP 连接的类。

演示

demo/ 文件夹包含一个演示项目,展示了如何使用 NBAsyncRestConnection。在其中运行 pod install,然后运行它。

用法

使用你需要的少量或大量连接数据实例化一个 NBAsyncRestConnection

// simplest form, for GET requests
[[NBAsyncRestConnection alloc] initWithURL:myurl
    delegate:self];

// most complex form
[[NBAsyncRestConnection alloc]
    initWithURL:myurl
         method:NBAsyncRestConnectionMethodPost
           body:myBodyString
    contentType:@"application/json"
        headers:myHeaderDict
       delegate:self];

HTTP 请求在初始化时立即发生。确保您在请求返回之前将连接对象保存在某处,以免对象被销毁。

您的视图控制器应遵循 NBAsyncRestConnectionDelegate 协议,该协议具有以下方法

- (void) connectionDidFail:(NBAsyncRestConnection *)theConnection;
- (void) connectionDidFinish:(NBAsyncRestConnection *)theConnection;

在这些方法中,您可以访问以下 NBAsyncRestConnection 字段

@property (nonatomic, assign) NSInteger responseCode;
@property (nonatomic, retain) NSMutableData *receivedData;
@property (nonatomic, retain) NSDictionary *receivedHeaders;

建议使用此类的用法是创建自己的 rest 连接类,该类定义了您的方法定义,并与业务对象映射。例如

@interface NBDemoRestConnection : NSObject <NBAsyncRestConnectionDelegate>

-(void)getCitiesWithinNorth:(double)n
                  south:(double)s
                   east:(double)e
                   west:(double)w
           withDelegate:(id<NBDemoRestConnectionDelegate>)delegate;

@end

您还可以定义自己的代理协议,其中回调方法返回业务对象

@protocol NBDemoRestConnectionDelegate<NSObject>

    -(void)getCitiesOperationFinishedWithCities:(NSArray *)cities;

@end

查看演示以了解如何实现此方法。

兼容性

此类已经回测到 iOS 5.0。

实现

此类委托 NSURLConnection 进行 HTTP 请求,并用便捷方法包装它。

许可

此代码在 MIT 许可下发布。有关详细信息,请参阅 LICENSE 文件。