Я разработчик as3, я привык использовать обработчики каждый раз, когда запускаю событие, и мне интересно, как лучше всего это сделать в Objective C.
Допустим, я хочу позвонить в другой сервис из моего бэкэнда.
В as3 было бы что-то вроде того, чтобы остаться на финише:
service.addEventListener (Event.COMPLETE, handler_serviceDidFinished)
service2.addEventListener (Event.COMPLETE, handler_serviceDidFinished2)
Но как я могу сделать то же самое в Objective C?
Проблема в том, что я уже создал протоколы и делегаты, но как я могу отделить каждый ответ от сервера?
Например:
-(void)callService:( NSString * )methodName withParameters:(NSMutableDictionary *) parameters
{
...
if (self.delegate != NULL && [self.delegate respondsToSelector:@selector(serviceDidFinishSuccessfully:)]) {
[delegate serviceDidFinishSuccessfully:data];
}
}
Хорошо, я пытаюсь создать общий делегат здесь, так как я могу отделить каждый ответ для каждого сервиса?
Моя первая идея заключается в том, что, возможно, мне следует возвращать имя метода службы в вызове делегата для идентификации каждой службы. Может быть, я должен создать UID для каждого сервиса и передать его таким же образом ...
Есть идеи?