Restkit很冷

时间:2014-10-12 12:27:20

标签: ios ios8 restkit

我在iOS 8下有一些错误冻结了我的iPhone应用程序。在使用RestKit从后端加载数据期间,我不知道为什么不执行:getObjectsAtPath方法中的代码。我假设应该从此方法的成功或失败块返回代码。看起来其他工具包正在尝试从后端获取数据,因为我可以看到网络活动指示器微调器仍处于活动状态。我不知道怎么可能调查这个问题因为Xcode没有返回任何错误。该应用程序仍在工作,但我无法点击后退按钮跳转到父视图。

-(void)loadAlerts{
_credentials = [[EFCredentials alloc]init];

NSString *rememberToken = [_credentials authToken];

if ([EFReachabilityManager isReachable]) {


    [[[RKObjectManager sharedManager]HTTPClient]setDefaultHeader:@"Authorize" value:rememberToken];

    RKResponseDescriptor *responseDescriptor =
    [RKResponseDescriptor responseDescriptorWithMapping:[EFMappingProvider alertsMapping]
                                                 method:RKRequestMethodGET
                                            pathPattern:[NSString stringWithFormat:@"/%@/alerts.json",_id]
                                                keyPath:nil statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];

    [[RKObjectManager sharedManager]addResponseDescriptor:responseDescriptor];

    [[RKObjectManager sharedManager] getObjectsAtPath:[NSString stringWithFormat:@"/wearers/%@/alerts.json",_wearer_id] parameters:nil


                                              success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult){

                                                  NSLog(@"%@",mappingResult.array);

                                                  [self.tableView reloadData];


                                              }

                                              failure:^(RKObjectRequestOperation *operation, NSError *error) {



                                                  UIAlertView *alertView =
                                                  [[UIAlertView alloc] initWithTitle:@"Error" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];

                                                  [alertView show];
                                              }
     ];
}
else{

    _alertViewReachability = [[UIAlertView alloc]initWithTitle:@"Error" message:@"No network connection " delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Try again", nil];
    [_alertViewReachability show];
}

}

enter image description here

libsystem_kernel.dylib`semaphore_wait_trap: 0x196954eb0:movn x16,#35

0x196954eb4:svc#128

0x196954eb8:ret

1 个答案:

答案 0 :(得分:0)

看起来可能陷入僵局。 refreshData:中的EFAlertsHistoryTVC方法正在响应通知。也许该方法中的某些东西会同步等待在方法返回之前无法使用的数据。