我已经实现了一个将数据发布到 Web 服务的功能。当我需要发送不同类型的数据时,我创建了这样的选择器:
- (void)postRequest:(NSString *)service toEndpoint:(NSString*)endpoint withParams:(NSObject *)params
当我不知道它是什么类型的对象时,如何在 params 对象上运行方法?currentlig 我已经为我发布的每种类型实现了一个测试转换场景,但这是实现这一点的不好方法......就像这样:
if([params isKindOfClass:[Order class]]){
Order *order = (Order *) params;
jsonString = [order objectToDictionary];
}
我已经尝试过:
if ([params respondsToSelector:@selector(objectToDictionary:)]) {
jsonString = [params objectToDictionary];
}
但是,如果不将参数转换为正确的类型,这似乎是不可能的。