小编Dan*_*Dan的帖子

在方法中包装AFNetworking的成功失败块

当我正在编写库时,我需要在我自己的方法中封装来自AFNetworking调用的响应.这段代码让我很接近:

MyDevice *devices = [[MyDevice alloc] init];
  [devices getDevices:@"devices.json?user_id=10" success:^(AFHTTPRequestOperation *operation, id responseObject) {

    ... can process json object here ...

}

 - (void)getDevices:(NSString *)netPath success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
    failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error)) failure {
    [[MyApiClient sharedDeviceServiceInstance] getPath:[NSString stringWithFormat:@"%@", netPath]
      parameters:nil success:success  failure:failure];
}
Run Code Online (Sandbox Code Playgroud)

但是,我需要在返回getDevices()之前处理从getPath返回的json对象数据.我试过这个:

- (void)getDevices:(NSString *)netPath success:(void (^)(id  myResults))success
        failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error)) failure {

  [[MyApiClient sharedDeviceServiceInstance] getPath:[NSString stringWithFormat:@"%@", netPath]
    parameters:nil
    success:^(AFHTTPRequestOperation *operation, id responseObject)
   {
     ... can process json object here ...
   }                           
   failure:^(AFHTTPRequestOperation …
Run Code Online (Sandbox Code Playgroud)

block ios afnetworking

7
推荐指数
1
解决办法
5442
查看次数

使用块声明并实现iOS方法,但没有其他参数

需要帮助声明和实现具有块但没有参数的方法.听起来很简单,但我错过了一些因为这有效:

- (void) RetrieveDevices: (NSInteger)count
         success:(void (^)(NSMutableArray *devices))success
         failure:(void (^)(aylaError *err))failure;

- (void)RetrieveDevices:(NSInteger)count
        success:(void (^)(NSMutableArray *devices))successBlock
        failure:(void (^)(aylaError *err))failureBlock
{

}
Run Code Online (Sandbox Code Playgroud)

这将无法编译,因为它期望一个方法体:

- (void) RetrieveDevices
             success:(void (^)(NSMutableArray *devices))success
             failure:(void (^)(aylaError *err))failure;

- (void)RetrieveDevices
            success:(void (^)(NSMutableArray *devices))successBlock
            failure:(void (^)(aylaError *err))failureBlock
{

}
Run Code Online (Sandbox Code Playgroud)

感谢帮助.

block objective-c ios

5
推荐指数
1
解决办法
7180
查看次数

标签 统计

block ×2

ios ×2

afnetworking ×1

objective-c ×1