2016-10-03 55 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]]; 
    }];