Постоянно проверять данные (метод) iOS
Есть ли какой-либо метод (например, - viewDidLoad) для непрерывного выполнения части кода? Мне нужно иметь возможность постоянно проверять значение на удаленном сервере.
3 ответа
Чтобы сделать это, нужно настроить NSTimer.
-(void)startCheckingValue
{
mainTimer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(checkValue:) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:mainTimer forMode:NSDefaultRunLoopMode];
}
-(void)checkValue:(NSTimer *)mainTimer
{
//Placeholder Function, this is where you write the code to check your value on the remote server
}
Функция timerWithTimeInterval - это та, которая вас интересует, основные вещи, которые вам нужно передать, как вы видите выше, это интервал, с которым она будет выполнять функцию, селектор которой вы передаете. Интервал времени указан в секундах, поэтому в настоящее время он настроен на проверку каждую секунду, что, вероятно, слишком быстро.
Используйте NSTimer для выполнения одного и того же блока кода каждые x секунд. Тем не менее, я не думаю, что это то, что вы хотите, учитывая, что это создаст дополнительную нагрузку на сервер, и вас могут забанить, так что, возможно, есть лучший способ.
Вы должны использовать NSTimer Для этого:
в вашем интерфейсе объявите NSTimer
объект как:
NSTimer *timer;
в твоем.m viewDidLoad
метод добавить строку ниже.
timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];
в timerFireMethod
метод, который вам нужно сделать, вызов сервера и другие вещи.