Ios RestKit-发布带有附件的对象数组

Ios RestKit-发布带有附件的对象数组,ios,core-data,restkit-0.20,Ios,Core Data,Restkit 0.20,我正在创建一个具有脱机模式的任务应用程序 在脱机模式下,我将每个对象的isSync属性设置为false,这样当网络可用时,我可以使用谓词获取这些未同步的对象并将它们发布到服务器 问题是我无法为每个对象添加附件 在online中,我正在发送POST请求,并附上单个对象的附件,如下所示: if (attachments != nil && attachments.count > 0) { task.total_attachments = [NSNumber number

我正在创建一个具有脱机模式的任务应用程序

在脱机模式下,我将每个对象的
isSync
属性设置为false,这样当网络可用时,我可以使用谓词获取这些未同步的对象并将它们发布到服务器

问题是我无法为每个对象添加附件

在online中,我正在发送
POST
请求,并附上单个对象的附件,如下所示:

if (attachments != nil && attachments.count > 0) {
    task.total_attachments = [NSNumber numberWithInteger:attachments.count];
    NSMutableURLRequest *request =[[RKObjectManager sharedManager] multipartFormRequestWithObject:task
                                                                                           method:RKRequestMethodPOST
                                                                                             path:URL_TASKS
                                                                                       parameters:nil
                                                                        constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {

                                                                            int counter = 0;
                                                                            for (NSDictionary *dic in attachments) {
                                                                                [formData appendPartWithFileData:UIImageJPEGRepresentation([dic objectForKey:@"image"], 0.7)
                                                                                                            name:[NSString stringWithFormat:@"attachment[%i]", counter]
                                                                                                        fileName:[dic objectForKey:@"name"]
                                                                                                        mimeType:@"image/jpg"];
                                                                                counter++;
                                                                            }
                                                                        }];

    RKObjectRequestOperation *operation = [[RKObjectManager sharedManager] managedObjectRequestOperationWithRequest:request
                                                                                               managedObjectContext:[NSManagedObjectContext MR_defaultContext]
                                                                                                            success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
                                                                                                                KLog(@"success");

                                                                                                                completionHandler((DBTasks *)[mappingResult firstObject], nil);

                                                                                                            } failure:^(RKObjectRequestOperation *operation, NSError *error) {
                                                                                                                KLog(@"fail");
                                                                                                                completionHandler(nil, error);
                                                                                                            }];
    [operation start];

}
if(附件!=nil&&attachments.count>0){
task.total_attachments=[NSNumber numberWithInteger:attachments.count];
NSMutableURLRequest*请求=[[RKObjectManager sharedManager]multipartFormRequestWithObject:task
方法:RKRequestMethodPOST
路径:URL\u任务
参数:零
构造体WithBlock:^(id formData){
int计数器=0;
用于(附件中的NSDictionary*dic){
[formData appendPartWithFileData:UIImageJPEGRepresentation([dic objectForKey:@“image”],0.7)
名称:[NSString stringWithFormat:@“附件[%i]”,计数器]
文件名:[dic objectForKey:@“name”]
mimeType:@“image/jpg”];
计数器++;
}
}];
RKObjectRequestOperation*操作=[[RKObjectManager sharedManager]managedObjectRequestOperationWithRequest:request
managedObjectContext:[NSManagedObjectContext先生_defaultContext]
成功:^(RKObjectRequestOperation*操作,RKMappingResult*映射结果){
KLog(“成功”);
completionHandler((DBTasks*)[mappingResult firstObject],nil);
}失败:^(RKObjectRequestOperation*操作,NSError*错误){
KLog(@“失败”);
completionHandler(无,错误);
}];
[操作启动];
}

附件似乎是按请求添加的,而不是按对象添加的。现在,当我发布一个对象数组而不是单个对象时,如何为每个对象添加附件?这样服务器就可以决定为哪个对象添加哪个附件。

如果您需要帮助,请修复代码格式,以便人们可以阅读您的代码。将对象标识添加到名称中?@Wain,谢谢您的回复,但我没有得到您的提示。您能解释一下吗?您将名称设置为
附件[%i]
,但您可以向该标记添加更多信息……谢谢@Wain,我终于在
formData
中添加了任务的唯一ID,现在web开发人员可以为任务获取正确的附件<代码>[formData appendPartWithFormData:[task.unique_id dataUsingEncoding:NSUTF8StringEncoding]名称:@“uniqueId”]