Проблема в преобразовании urlString в NSURL в iphone SDK - PullRequest
4 голосов
/ 11 октября 2010

Сначала у меня есть строка вызова метода со значением метки времени nil, и я получаю преобразованную строку в URL. В следующий раз, когда я нажимаю кнопку «загрузить дополнительные результаты», снова вызов метода с назначенным ему значением метки времени. Но URLСтрока не преобразуется в NSURL. Я получаю нулевое значение.

-(NSMutableArray*)getTextMessagesArray:(NSString *)endTimestamp
 {
    printf("\n endtimestamp value...%s",[endTimestamp UTF8String]);
    NSString *urlString = @"http://123.237.186.221:8080/upload/textRequest.jsp";
    urlString = [urlString stringByAppendingString:@"?beginTimestamp="];
    urlString = [urlString stringByAppendingString:@"&endTimestamp="];
    if([endTimestamp length]>0)
    {
            urlString = [urlString stringByAppendingString:endTimestamp];
    }
    printf("\n &*(*(((urlString...%s",[urlString UTF8String]);
    NSURL* aUrl = [NSURL URLWithString:urlString];

    NSLog(@"url in appdelegaare in text...%@",aUrl);


    [textParser parseXMLFileAtURL:aUrl];
    textMessagesList = [textParser getTextMessagesList];
    printf("\n textMessagesList Count in appDelegate....%d",[textMessagesList count]);
    return textMessagesList;
  }

Результат, который я получаю в консоли:

 &*(*(((urlString...http://123.237.186.221:8080/upload/textRequest.jsp?endTimestamp=2010-10-08 16:20:47.0
 url in appdelegaare in text...(null)

Парень может подсказать мне, почему это происходит

Любая помощь будет высоко оценена.

Спасибо всем, Мониш.

1 Ответ

18 голосов
/ 11 октября 2010

Ваша проблема в том, что действительные URL не могут содержать пробелы. Вы хотите сделать что-то вроде следующего:

NSString *escapedUrlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
// escapedUrlString should be "http://123.237.186.221:8080/upload/textRequest.jsp?endTimestamp=2010-10-08%2016:20:47.0"
NSURL *aUrl = [NSURL URLWithString:escapedUrlString];

Это может быть то, что вы хотели.

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