データを 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];
}
しかし、paramsを正しい型にキャストしないと、それは不可能に思えます。