Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Restkit OndiFailwitheror从未接到过电话_Ios_Restkit - Fatal编程技术网

Ios Restkit OndiFailwitheror从未接到过电话

Ios Restkit OndiFailwitheror从未接到过电话,ios,restkit,Ios,Restkit,我正试图发布一个带有block的对象OnDidFailWithError从未被调用,它就爆炸了 这是我得到的错误: 由于未捕获异常而终止应用程序 “NSInvalidArgumentException”,原因:“+[MyClass” objectLoader:didFailWithError::发送到类的选择器无法识别 这是我的代码: [[RKObjectManager sharedManager] postObject: myObj usingBlock:^(RKObjectLoader *l

我正试图发布一个带有block的对象
OnDidFailWithError
从未被调用,它就爆炸了

这是我得到的错误:

由于未捕获异常而终止应用程序 “NSInvalidArgumentException”,原因:“+[MyClass” objectLoader:didFailWithError::发送到类的选择器无法识别

这是我的代码:

[[RKObjectManager sharedManager] postObject: myObj usingBlock:^(RKObjectLoader *loader){
    loader.targetObject = nil;
    loader.delegate = (id)self;
    loader.objectMapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[MyClass class]];

    loader.onDidFailWithError = ^(NSError *error) {
        NSLog(@"Error %@", [error localizedDescription]);
    };

    loader.onDidLoadObject = ^(id obj) {
        NSLog(@"Comment");
        NSLog(@"%@",obj);
    };

    loader.onDidLoadResponse = ^(RKResponse *response) {
        NSLog(@"Response: %@", [response bodyAsString]);
    };

    loader.onDidLoadObjects=^(NSArray* objects){
        //post notification
        [[NSNotificationCenter defaultCenter] postNotificationName:@"finish" object:nil];
    };

    loader.serializationMIMEType = RKMIMETypeJSON; // We want to send this request as JSON
    loader.method = RKRequestMethodPOST;

    loader.serializationMapping = [RKObjectMapping serializationMappingUsingBlock:^(RKObjectMapping* mapping) {
        [mapping mapAttributes:@"field1", @"field2",nil];
    }];
}];

如果无法处理此错误,请在onDidLoadResponse上尝试此操作

    loader.onDidLoadResponse = ^(RKResponse *response) {

        NSLog(@"Response did arrive");
        if([response statusCode]>299){

            NSError *error = nil;
            id parsedResponse = [NSJSONSerialization JSONObjectWithData:[response body] options:NSJSONWritingPrettyPrinted error:&error];
            NSLog(@"%@",parsedResponse);

        }

    };

您正在将委托设置为self,它将在当前控制器上调用这些RestKit委托方法,而不是使用您创建的块。

Myclass是我不想在线披露的类的名称。我成功加载了对象,但无法处理错误。我只是编辑了答案,检查这是否有助于调试问题所在。