2016-02-16 3 views
1

Я хочу обновить данные с сервера, но это обновление времени -> я хочу получить это от пользователя и перейти к таймеру, как я могу это сделать, я знаю, чтобы дать значение как,Обновление данных с сервера с помощью NSTimer

self.timerCounter =[NSTimer scheduledTimerWithTimeInterval:300.0 
target:self selector:@selector(getGraphData) userInfo:nil repeats:YES]; 

я также попытался с помощью протоколов и делегатов, как,

self.timerCounter =[NSTimer scheduledTimerWithTimeInterval:strTime 
target:self selector:@selector(getGraphData) userInfo:nil repeats:YES]; 

, но я получил ошибку как

Отправка NSStrin г _strong к параметру несовместимого типа NSTimerInterval

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

+0

Можете ли вы пост, как ваш присваиваем значение 'strTime'? –

ответ

1

Я думаю, что есть проблема в преобразовании strTime в NSTimeInterval.

self.timerCounter =[NSTimer scheduledTimerWithTimeInterval:[strTime doubleValue] target:self selector:@selector(getGraphData) userInfo:nil repeats:YES]; 

Попробуйте, это должно работать, если есть проблема преобразования ..

1

Преобразование textfield.text в NSTimeInterval Попробуйте как, let strTime : NSTimeInterval = NSTimeInterval(textfield.text)!

+0

, я работаю в объекте c –

+0

Я просто получаю значения от nsuserdefaults, например NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults]; NSString * url = [defaults objectForKey: @ "server_url"]; NSString * txtTime = [defaults objectForKey: @ "refresh_time"]; self.timerCounter = [NSTimer scheduleTimerWithTimeInterval: txtTime target: self selector: @selector (getGraphData) userInfo: nil repeatats: YES]; –

+0

Синтаксис Objective-C - NSTimeInterval time = [txtTime doubleValue]; – Varun

1

Вы используете NSString вместо данных типа NSTimeInterval. Вы должны решить эту проблему, преобразов txtTime или strTime в двойное значение.

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSString *url = [defaults objectForKey:@"server_url"]; 
NSString *txtTime = [defaults objectForKey:@"refresh_time"]; 

if (txtTime != nil) { 
    NSTimeInterval timeInterval = [txtTime doubleValue]; 
    self.timerCounter = [NSTimer scheduledTimerWithTimeInterval:timeInterval target:self selector:@selector(getGraphData) userInfo:nil repeats:true]; 
} 
Смежные вопросы