kullanılarak JSON seri zaman bu sınıfı Nil es: her iki özelliği de isteğe bağlı olabilecek boolean değerleri temsilRestKit
@interface MovieStatus : NSObject
@property (nonatomic, strong) NSNumber* seen;
@property (nonatomic, strong) NSNumber* watchlist;
@end
. Bu nesneyi RKObjectManager
aracılığıyla RestKit kullanarak sunucuya gönderiyorum ve uygun eşleştirmeyi oluşturdum. Ancak, nesneyi serileştirirken özelliği POST verilerinden atlayamıyorum. Örneğin
, bu kodu: İsterdim
{
"seen": true,
"watchlist": null
}
göndermek için:
RKLogConfigureByName("*", RKLogLevelTrace);
RKObjectManager* manager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:@"http://www.example.com/v1"]];
manager.requestSerializationMIMEType = RKMIMETypeJSON;
RKObjectMapping* requestMapping = [RKObjectMapping requestMapping];
[requestMapping addAttributeMappingsFromArray:@[@"seen", @"watchlist"]];
RKRequestDescriptor* requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:requestMapping objectClass:[MovieStatus class] rootKeyPath:nil method:RKRequestMethodPOST];
[manager addRequestDescriptor:requestDescriptor];
RKRoute* route = [RKRoute routeWithClass:[MovieStatus class] pathPattern:@"status" method:RKRequestMethodPOST];
[manager.router.routeSet addRoute:route];
MovieStatus* status = [[MovieStatus alloc] init];
status.seen = @(YES);
[manager postObject:status path:nil parameters:nil success:nil failure:nil];
JSON gönderiyor
{
"seen": true
}
kimse bana nasıl işaret edebilir başarabilir miyim
Her bir eşleme için bunu tek tek değil, global olarak ayarlamak zaten var mı? – dirkoneill
RKObjectMapping – VaporwareWolf
alt sınıfını kullanabilirsiniz. Bu benim için çalışmadı ve bunun varsayılan olarak "HAYIR" olarak ayarlanması gerektiğini düşündüm. http://stackoverflow.com/questions/31846262/how-do-i-ignore-empty-properties-on-posted-objects-using-restkit – Tim