Перестройте кодовый блок, чтобы исключить неиспользуемое предупреждение. - PullRequest
1 голос
/ 12 августа 2011

Унаследовав проект от аутсорсинговой компании-разработчика, меня попросили изменить приложение и добавить некоторые функции.

Будучи немного перфекционистом (но все еще относительно новым), я пытаюсьисключить предупреждения из проекта при компиляции.

Я получаю эту ошибку

Неиспользуемая переменная 'timer' в конце функции

, которая устанавливает кнопку обновлениявернуться к включенному после тайм-аута.

Как я могу переработать это, чтобы я не получил неиспользованное (я не могу это закомментировать, потому что на самом деле он делает то, что должен, сбрасывая состояние послетаймер истекает) ..

-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    //lots of previous code
    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(enableRefresh) userInfo:nil repeats:NO];
}

Ответы [ 3 ]

1 голос
/ 12 августа 2011

Просто удалите назначение и прочитайте:

[NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(enableRefresh) userInfo:nil repeats:NO];

Без NSTimer *timer =.

Очевидно, указатель на объект таймера просто не нужен, потому что он просто делает то, что должен делать прямо сейчас. Или я что-то упустил?

0 голосов
/ 12 августа 2011

Всегда есть фальшивая операция:

(void)timer;

Я много использовал его, чтобы избежать предупреждений о неиспользованных параметрах, вплоть до превращения в макрос.

0 голосов
/ 12 августа 2011

Если вам все еще нужна ссылка на этот таймер, позже в этом методе выполните:

-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    //lots of previous code
NSTimer *timer;
timer=[NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(enableRefresh) userInfo:nil repeats:NO];

    //lots of other code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...