2016-10-03 26 views
0

我想在request.body CarwashForm [工作模式] [1] [状态] = 1Restkit。如何发布的NSDictionary内NSObject的

到达以下结果,其中[1]是对象的ID

@interface WorktimeForm : NSObject 
@property(nonatomic,copy) NSNumber *isset; 
@property(nonatomic,copy) NSNumber *weekday; 
@property(nonatomic,copy) NSNumber *status; 
@property(nonatomic,copy) NSString *work_from; 
@property(nonatomic,copy) NSString *work_to; 
@end; 

@interface CarwashForm : NSObject 
@property(nonatomic,copy) NSString *name; 
@property(nonatomic,copy) NSString *address; 
@property(nonatomic,copy) NSNumber *latitude; 
@property(nonatomic,copy) NSNumber *longitude; 
@property(nonatomic,copy) NSArray<NSString*> *files; 
@property NSDictionary *workmode; 
@end 

截图中的映射代码http://joxi.ru/4AkOO4kiMvQ4aA。我使用不同的情况(对于数组,字典,nsset)但不能得到合适的结果

NSDictionary *workmode是具有密钥ID的对象的列表。

谢谢你的任何援助。

回答

0

帮助这样的:

[delegate startProgress]; 
    self.manager.requestSerializationMIMEType = @"application/x-www-form-urlencoded"; 

    NSMutableDictionary *dtPost = [NSMutableDictionary new]; 

    [dtPost setObject:carwash.name forKey:@"CarwashForm[name]"]; 
    [dtPost setObject:carwash.address forKey:@"CarwashForm[address]"]; 
    [dtPost setObject:carwash.latitude forKey:@"CarwashForm[latitude]"]; 
    [dtPost setObject:carwash.longitude forKey:@"CarwashForm[longitude]"]; 

    for (WorktimeForm* wt in carwash.workmode){ 
     [dtPost setObject:wt.status forKey:[NSString stringWithFormat:@"CarwashForm[workmode][%@][isset]",wt.weekday]]; 
     [dtPost setObject:wt.status forKey:[NSString stringWithFormat:@"CarwashForm[workmode][%@][status]",wt.weekday]]; 
     [dtPost setObject:wt.work_from forKey:[NSString stringWithFormat:@"CarwashForm[workmode][%@][work_from]",wt.weekday]]; 
     [dtPost setObject:wt.work_to forKey:[NSString stringWithFormat:@"CarwashForm[workmode][%@][work_to]",wt.weekday]]; 
    } 

    [self.manager postObject:dtPost path:[NSString stringWithFormat: @"carwash/%d",[id_wash intValue]] parameters:dtPost success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult){ 
     NSLog(@"%@",@"OK saveCarwash"); 
     [delegate success:200 toPack:mappingResult toMsg:@"success"]; 
     [delegate stopProgress]; 
    } failure:^(RKObjectRequestOperation *operation, NSError *error) { 
     NSLog(@"%@",@"ERROR saveCarwash"); 
     [delegate stopProgress]; 
     [delegate fail:500 toMsg:[error localizedFailureReason]]; 
    }];