Как передать параметры в пользовательский селектор из объекта NSTimer?

#iphone

#iPhone

Вопрос:

Как использовать userInfo объект в NSTimer вызове, таком как

   (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;
  

Я хочу отправить определенные параметры в свой пользовательский селектор.

Ответ №1:

userInfo Параметр предназначен именно для этого.

 - (void)onTimer:(NSTimer *)timer 
{
   NSLog(@"User Info %@", [timer userInfo] );
}
  

Ответ №2:

Сложность в том, что вам нужно объединить ваши параметры, даже если их больше 1, даже если они не являются объектами, в один объект. Создание временного NSDictionary и заполнение его ключевыми параметрами работает. Или вы могли бы создать пользовательский класс просто для хранения требуемых параметров, а также создать и заполнить объект этого класса (alloc, initWithMy42Parameters:) для передачи в качестве userInfo.