Ваш URL, http://gymnasium2.ai.ch/~mensa/countdown_timestamp.html, - это полный HTML-файл. NSString initWithContentsOfURL:
вернет строку, содержащую все ее содержимое:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>1328633219</title>
</head>
<body>
1328633219
</body>
</html>
Это нельзя преобразовать в двойное число; вам нужно разобрать HTML, что может быть довольно трудоемким.
Было бы проще создать простой файл, содержащий только число:
1328633219
Тогда ваш код выше сможет получить номер без каких-либо изменений.
Однако следующий код может помешать работе вашего кода:
NSString *string = [[NSString alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://gymnasium2.ai.ch/~mensa/countdown_timestamp.html"]];
label.text = string; // This line
double timeInterval = [label.text doubleValue];
Если label
равен nil
, то timeInterval
не будет установлен должным образом, поскольку [label.text doubleValue]
также вернет nil
. Вместо этого вы можете попробовать:
NSString *string = [[NSString alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://gymnasium2.ai.ch/~mensa/countdown_timestamp.html"]];
double timeInterval = string;
label.text = [NSString stringWithFormat:@"%d", (int)timeInterval];
Было бы полезно сбросить точку останова или добавить вызов NSLog после извлечения файла, чтобы вы могли видеть, что происходит.
NSString *string = [[NSString alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://gymnasium2.ai.ch/~mensa/countdown_timestamp.html"]];
NSLog(@"Downloaded file with contents: %@", string);
Кроме того, вы можете загрузить файл plist
и использовать что-то вроде NSDictionary dictionaryWithContentsOfURL:
или NSArray arrayWithContentsOfURL:
. См. Руководство по программированию списка свойств .